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 Class<?>[] getFunctionTypes(org.apache.pulsar.common.functions.FunctionConfig functionConfig, ClassLoader classLoader) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getFunctionTypes

      public static Class<?>[] getFunctionTypes(org.apache.pulsar.common.functions.FunctionConfig functionConfig, Class functionClass) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getFunctionTypes

      public static Class<?>[] getFunctionTypes(Class userClass, boolean isWindowConfigPresent)
    • createInstance

      public static Object createInstance(String userClassName, ClassLoader classLoader)
    • 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 Class<?> getSourceType(String className, ClassLoader classLoader) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getSourceType

      public static Class<?> getSourceType(Class sourceClass)
    • getSinkType

      public static Class<?> getSinkType(String className, ClassLoader classLoader) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getSinkType

      public static Class<?> getSinkType(Class sinkClass)
    • downloadFromHttpUrl

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

      public static ClassLoader extractClassLoader(String destPkgUrl) throws IOException, URISyntaxException
      Throws:
      IOException
      URISyntaxException
    • createPkgTempFile

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

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

      public static org.apache.pulsar.common.nar.NarClassLoader extractNarClassLoader(File packageFile, String narExtractionDirectory)
    • getFullyQualifiedInstanceId

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

      public static String getFullyQualifiedInstanceId(String tenant, String namespace, 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)
    • toByteArray

      public static byte[] toByteArray(Object obj) throws IOException
      Throws:
      IOException
    • 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(org.apache.pulsar.functions.proto.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)
    • getTypeArg

      public static Class<?> getTypeArg(String className, Class<?> funClass, ClassLoader classLoader) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • roundDecimal

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

      public static ClassLoader getClassLoaderFromPackage(org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType, String className, File packageFile, String narExtractionDirectory)
    • capFirstLetter

      public static String capFirstLetter(Enum en)
    • isFunctionCodeBuiltin

      public static boolean isFunctionCodeBuiltin(org.apache.pulsar.functions.proto.Function.FunctionDetailsOrBuilder functionDetails)
    • convertFromFunctionDetailsSubscriptionPosition

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