Class FunctionCommon

java.lang.Object
org.apache.pulsar.functions.utils.FunctionCommon

public class FunctionCommon extends Object
Utils used for runtime.
  • Constructor Details

    • FunctionCommon

      public FunctionCommon()
  • Method Details

    • printJson

      public static String printJson(com.google.protobuf.MessageOrBuilder msg) throws IOException
      Throws:
      IOException
    • mergeJson

      public static void mergeJson(String json, com.google.protobuf.AbstractMessage.Builder builder) throws IOException
      Throws:
      IOException
    • findAvailablePort

      public static int findAvailablePort()
    • getFunctionTypes

      public static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes(FunctionConfig functionConfig, net.bytebuddy.pool.TypePool typePool) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getFunctionTypes

      public static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes(FunctionConfig functionConfig, net.bytebuddy.description.type.TypeDefinition functionClass)
    • getFunctionTypes

      public static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes(net.bytebuddy.description.type.TypeDefinition userClass, boolean isWindowConfigPresent)
    • getRawFunctionTypes

      public static net.bytebuddy.description.type.TypeDescription.Generic[] getRawFunctionTypes(net.bytebuddy.description.type.TypeDefinition userClass, boolean isWindowConfigPresent)
    • getFunctionClassParent

      public static Class<?> getFunctionClassParent(net.bytebuddy.description.type.TypeDefinition userClass, boolean isWindowConfigPresent)
    • convertRuntime

      public static Function.FunctionDetails.Runtime convertRuntime(FunctionConfig.Runtime runtime)
    • convertRuntime

      public static FunctionConfig.Runtime convertRuntime(Function.FunctionDetails.Runtime runtime)
    • convertProcessingGuarantee

      public static Function.ProcessingGuarantees convertProcessingGuarantee(FunctionConfig.ProcessingGuarantees processingGuarantees)
    • convertProcessingGuarantee

      public static FunctionConfig.ProcessingGuarantees convertProcessingGuarantee(Function.ProcessingGuarantees processingGuarantees)
    • getSourceType

      public static net.bytebuddy.description.type.TypeDefinition getSourceType(String className, net.bytebuddy.pool.TypePool typePool)
    • getSourceType

      public static net.bytebuddy.description.type.TypeDefinition getSourceType(net.bytebuddy.description.type.TypeDefinition sourceClass)
    • getSinkType

      public static net.bytebuddy.description.type.TypeDefinition getSinkType(String className, net.bytebuddy.pool.TypePool typePool)
    • getSinkType

      public static net.bytebuddy.description.type.TypeDefinition getSinkType(net.bytebuddy.description.type.TypeDefinition sinkClass)
    • downloadFromHttpUrl

      public static void downloadFromHttpUrl(String destPkgUrl, File targetFile) throws IOException
      Throws:
      IOException
    • createPkgTempFile

      public static File createPkgTempFile() throws IOException
      Throws:
      IOException
    • extractFileFromPkgURL

      public static File extractFileFromPkgURL(String destPkgUrl) throws IOException, URISyntaxException
      Throws:
      IOException
      URISyntaxException
    • getFullyQualifiedInstanceId

      public static String getFullyQualifiedInstanceId(Function.Instance instance)
    • getFullyQualifiedInstanceId

      public static String getFullyQualifiedInstanceId(String tenant, String namespace, String functionName, int instanceId)
    • getSequenceId

      public static final long getSequenceId(MessageId messageId)
    • getMessageId

      public static final MessageId getMessageId(long sequenceId)
    • getUniquePackageName

      public static String getUniquePackageName(String packageName)
    • getStateNamespace

      public static String getStateNamespace(String tenant, String namespace)
      Convert pulsar tenant and namespace to state storage namespace.
      Parameters:
      tenant - pulsar tenant
      namespace - pulsar namespace
      Returns:
      state storage namespace
    • getFullyQualifiedName

      public static String getFullyQualifiedName(Function.FunctionDetails functionDetails)
    • getFullyQualifiedName

      public static String getFullyQualifiedName(String tenant, String namespace, String functionName)
    • extractTenantFromFullyQualifiedName

      public static String extractTenantFromFullyQualifiedName(String fqfn)
    • extractNamespaceFromFullyQualifiedName

      public static String extractNamespaceFromFullyQualifiedName(String fqfn)
    • extractNameFromFullyQualifiedName

      public static String extractNameFromFullyQualifiedName(String fqfn)
    • roundDecimal

      public static double roundDecimal(double value, int places)
    • capFirstLetter

      public static String capFirstLetter(Enum en)
    • isFunctionCodeBuiltin

      public static boolean isFunctionCodeBuiltin(Function.FunctionDetailsOrBuilder functionDetail)
    • isFunctionCodeBuiltin

      public static boolean isFunctionCodeBuiltin(Function.FunctionDetailsOrBuilder functionDetails, Function.FunctionDetails.ComponentType componentType)
    • convertFromFunctionDetailsSubscriptionPosition

      public static SubscriptionInitialPosition convertFromFunctionDetailsSubscriptionPosition(Function.SubscriptionPosition subscriptionPosition)
    • convertFromFunctionDetailsCompressionType

      public static CompressionType convertFromFunctionDetailsCompressionType(Function.CompressionType compressionType)
    • convertFromCompressionType

      public static Function.CompressionType convertFromCompressionType(CompressionType compressionType)