Class FunctionCommon


  • public class FunctionCommon
    extends java.lang.Object
    Utils used for runtime.
    • Constructor Summary

      Constructors 
      Constructor Description
      FunctionCommon()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String capFirstLetter​(java.lang.Enum en)  
      static org.apache.pulsar.client.api.SubscriptionInitialPosition convertFromFunctionDetailsSubscriptionPosition​(org.apache.pulsar.functions.proto.Function.SubscriptionPosition subscriptionPosition)  
      static org.apache.pulsar.functions.proto.Function.ProcessingGuarantees convertProcessingGuarantee​(org.apache.pulsar.common.functions.FunctionConfig.ProcessingGuarantees processingGuarantees)  
      static org.apache.pulsar.common.functions.FunctionConfig.ProcessingGuarantees convertProcessingGuarantee​(org.apache.pulsar.functions.proto.Function.ProcessingGuarantees processingGuarantees)  
      static org.apache.pulsar.functions.proto.Function.FunctionDetails.Runtime convertRuntime​(org.apache.pulsar.common.functions.FunctionConfig.Runtime runtime)  
      static org.apache.pulsar.common.functions.FunctionConfig.Runtime convertRuntime​(org.apache.pulsar.functions.proto.Function.FunctionDetails.Runtime runtime)  
      static java.io.File createPkgTempFile()  
      static void downloadFromHttpUrl​(java.lang.String destPkgUrl, java.io.File targetFile)  
      static java.io.File extractFileFromPkgURL​(java.lang.String destPkgUrl)  
      static java.lang.String extractNameFromFullyQualifiedName​(java.lang.String fqfn)  
      static java.lang.String extractNamespaceFromFullyQualifiedName​(java.lang.String fqfn)  
      static java.lang.String extractTenantFromFullyQualifiedName​(java.lang.String fqfn)  
      static int findAvailablePort()  
      static java.lang.String getFullyQualifiedInstanceId​(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId)  
      static java.lang.String getFullyQualifiedInstanceId​(org.apache.pulsar.functions.proto.Function.Instance instance)  
      static java.lang.String getFullyQualifiedName​(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName)  
      static java.lang.String getFullyQualifiedName​(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails)  
      static java.lang.Class<?> getFunctionClassParent​(net.bytebuddy.description.type.TypeDefinition userClass, boolean isWindowConfigPresent)  
      static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes​(net.bytebuddy.description.type.TypeDefinition userClass, boolean isWindowConfigPresent)  
      static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes​(org.apache.pulsar.common.functions.FunctionConfig functionConfig, net.bytebuddy.description.type.TypeDefinition functionClass)  
      static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes​(org.apache.pulsar.common.functions.FunctionConfig functionConfig, net.bytebuddy.pool.TypePool typePool)  
      static org.apache.pulsar.client.api.MessageId getMessageId​(long sequenceId)  
      static net.bytebuddy.description.type.TypeDescription.Generic[] getRawFunctionTypes​(net.bytebuddy.description.type.TypeDefinition userClass, boolean isWindowConfigPresent)  
      static long getSequenceId​(org.apache.pulsar.client.api.MessageId messageId)  
      static net.bytebuddy.description.type.TypeDefinition getSinkType​(java.lang.String className, net.bytebuddy.pool.TypePool typePool)  
      static net.bytebuddy.description.type.TypeDefinition getSinkType​(net.bytebuddy.description.type.TypeDefinition sinkClass)  
      static net.bytebuddy.description.type.TypeDefinition getSourceType​(java.lang.String className, net.bytebuddy.pool.TypePool typePool)  
      static net.bytebuddy.description.type.TypeDefinition getSourceType​(net.bytebuddy.description.type.TypeDefinition sourceClass)  
      static java.lang.String getStateNamespace​(java.lang.String tenant, java.lang.String namespace)
      Convert pulsar tenant and namespace to state storage namespace.
      static java.lang.String getUniquePackageName​(java.lang.String packageName)  
      static boolean isFunctionCodeBuiltin​(org.apache.pulsar.functions.proto.Function.FunctionDetailsOrBuilder functionDetail)  
      static boolean isFunctionCodeBuiltin​(org.apache.pulsar.functions.proto.Function.FunctionDetailsOrBuilder functionDetails, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType)  
      static void mergeJson​(java.lang.String json, com.google.protobuf.AbstractMessage.Builder builder)  
      static java.lang.String printJson​(com.google.protobuf.MessageOrBuilder msg)  
      static double roundDecimal​(double value, int places)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FunctionCommon

        public FunctionCommon()
    • Method Detail

      • printJson

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

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

        public static int findAvailablePort()
      • getFunctionTypes

        public static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes​(org.apache.pulsar.common.functions.FunctionConfig functionConfig,
                                                                                       net.bytebuddy.pool.TypePool typePool)
                                                                                throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • getFunctionTypes

        public static net.bytebuddy.description.type.TypeDefinition[] getFunctionTypes​(org.apache.pulsar.common.functions.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 java.lang.Class<?> getFunctionClassParent​(net.bytebuddy.description.type.TypeDefinition userClass,
                                                                boolean isWindowConfigPresent)
      • convertRuntime

        public static org.apache.pulsar.functions.proto.Function.FunctionDetails.Runtime convertRuntime​(org.apache.pulsar.common.functions.FunctionConfig.Runtime runtime)
      • convertRuntime

        public static org.apache.pulsar.common.functions.FunctionConfig.Runtime convertRuntime​(org.apache.pulsar.functions.proto.Function.FunctionDetails.Runtime runtime)
      • convertProcessingGuarantee

        public static org.apache.pulsar.functions.proto.Function.ProcessingGuarantees convertProcessingGuarantee​(org.apache.pulsar.common.functions.FunctionConfig.ProcessingGuarantees processingGuarantees)
      • convertProcessingGuarantee

        public static org.apache.pulsar.common.functions.FunctionConfig.ProcessingGuarantees convertProcessingGuarantee​(org.apache.pulsar.functions.proto.Function.ProcessingGuarantees processingGuarantees)
      • getSourceType

        public static net.bytebuddy.description.type.TypeDefinition getSourceType​(java.lang.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​(java.lang.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​(java.lang.String destPkgUrl,
                                               java.io.File targetFile)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • createPkgTempFile

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

        public static java.io.File extractFileFromPkgURL​(java.lang.String destPkgUrl)
                                                  throws java.io.IOException,
                                                         java.net.URISyntaxException
        Throws:
        java.io.IOException
        java.net.URISyntaxException
      • getFullyQualifiedInstanceId

        public static java.lang.String getFullyQualifiedInstanceId​(org.apache.pulsar.functions.proto.Function.Instance instance)
      • getFullyQualifiedInstanceId

        public static java.lang.String getFullyQualifiedInstanceId​(java.lang.String tenant,
                                                                   java.lang.String namespace,
                                                                   java.lang.String functionName,
                                                                   int instanceId)
      • getSequenceId

        public static final long getSequenceId​(org.apache.pulsar.client.api.MessageId messageId)
      • getMessageId

        public static final org.apache.pulsar.client.api.MessageId getMessageId​(long sequenceId)
      • getUniquePackageName

        public static java.lang.String getUniquePackageName​(java.lang.String packageName)
      • getStateNamespace

        public static java.lang.String getStateNamespace​(java.lang.String tenant,
                                                         java.lang.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 java.lang.String getFullyQualifiedName​(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails)
      • getFullyQualifiedName

        public static java.lang.String getFullyQualifiedName​(java.lang.String tenant,
                                                             java.lang.String namespace,
                                                             java.lang.String functionName)
      • extractTenantFromFullyQualifiedName

        public static java.lang.String extractTenantFromFullyQualifiedName​(java.lang.String fqfn)
      • extractNamespaceFromFullyQualifiedName

        public static java.lang.String extractNamespaceFromFullyQualifiedName​(java.lang.String fqfn)
      • extractNameFromFullyQualifiedName

        public static java.lang.String extractNameFromFullyQualifiedName​(java.lang.String fqfn)
      • roundDecimal

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

        public static java.lang.String capFirstLetter​(java.lang.Enum en)
      • isFunctionCodeBuiltin

        public static boolean isFunctionCodeBuiltin​(org.apache.pulsar.functions.proto.Function.FunctionDetailsOrBuilder functionDetail)
      • isFunctionCodeBuiltin

        public static boolean isFunctionCodeBuiltin​(org.apache.pulsar.functions.proto.Function.FunctionDetailsOrBuilder functionDetails,
                                                    org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType)
      • convertFromFunctionDetailsSubscriptionPosition

        public static org.apache.pulsar.client.api.SubscriptionInitialPosition convertFromFunctionDetailsSubscriptionPosition​(org.apache.pulsar.functions.proto.Function.SubscriptionPosition subscriptionPosition)