Class FunctionCommon
- java.lang.Object
-
- org.apache.pulsar.functions.utils.FunctionCommon
-
public class FunctionCommon extends java.lang.ObjectUtils 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.StringcapFirstLetter(java.lang.Enum en)static org.apache.pulsar.client.api.SubscriptionInitialPositionconvertFromFunctionDetailsSubscriptionPosition(org.apache.pulsar.functions.proto.Function.SubscriptionPosition subscriptionPosition)static org.apache.pulsar.functions.proto.Function.ProcessingGuaranteesconvertProcessingGuarantee(org.apache.pulsar.common.functions.FunctionConfig.ProcessingGuarantees processingGuarantees)static org.apache.pulsar.common.functions.FunctionConfig.ProcessingGuaranteesconvertProcessingGuarantee(org.apache.pulsar.functions.proto.Function.ProcessingGuarantees processingGuarantees)static org.apache.pulsar.functions.proto.Function.FunctionDetails.RuntimeconvertRuntime(org.apache.pulsar.common.functions.FunctionConfig.Runtime runtime)static org.apache.pulsar.common.functions.FunctionConfig.RuntimeconvertRuntime(org.apache.pulsar.functions.proto.Function.FunctionDetails.Runtime runtime)static java.lang.ObjectcreateInstance(java.lang.String userClassName, java.lang.ClassLoader classLoader)static java.io.FilecreatePkgTempFile()static voiddownloadFromHttpUrl(java.lang.String destPkgUrl, java.io.File targetFile)static java.lang.ClassLoaderextractClassLoader(java.lang.String destPkgUrl)static java.io.FileextractFileFromPkgURL(java.lang.String destPkgUrl)static java.lang.StringextractNameFromFullyQualifiedName(java.lang.String fqfn)static java.lang.StringextractNamespaceFromFullyQualifiedName(java.lang.String fqfn)static org.apache.pulsar.common.nar.NarClassLoaderextractNarClassLoader(java.io.File packageFile, java.lang.String narExtractionDirectory)static java.lang.StringextractTenantFromFullyQualifiedName(java.lang.String fqfn)static intfindAvailablePort()static java.lang.ClassLoadergetClassLoaderFromPackage(org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType, java.lang.String className, java.io.File packageFile, java.lang.String narExtractionDirectory)static java.lang.StringgetFullyQualifiedInstanceId(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, int instanceId)static java.lang.StringgetFullyQualifiedInstanceId(org.apache.pulsar.functions.proto.Function.Instance instance)static java.lang.StringgetFullyQualifiedName(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName)static java.lang.StringgetFullyQualifiedName(org.apache.pulsar.functions.proto.Function.FunctionDetails FunctionDetails)static java.lang.Class<?>[]getFunctionTypes(java.lang.Class userClass, boolean isWindowConfigPresent)static java.lang.Class<?>[]getFunctionTypes(org.apache.pulsar.common.functions.FunctionConfig functionConfig, java.lang.ClassLoader classLoader)static org.apache.pulsar.client.api.MessageIdgetMessageId(long sequenceId)static longgetSequenceId(org.apache.pulsar.client.api.MessageId messageId)static java.lang.Class<?>getSinkType(java.lang.Class sinkClass)static java.lang.Class<?>getSinkType(java.lang.String className, java.lang.ClassLoader classLoader)static java.lang.Class<?>getSourceType(java.lang.Class sourceClass)static java.lang.Class<?>getSourceType(java.lang.String className, java.lang.ClassLoader classLoader)static java.lang.StringgetStateNamespace(java.lang.String tenant, java.lang.String namespace)Convert pulsar tenant and namespace to state storage namespace.static java.lang.Class<?>getTypeArg(java.lang.String className, java.lang.Class<?> funClass, java.lang.ClassLoader classLoader)static java.lang.StringgetUniquePackageName(java.lang.String packageName)static booleanisFunctionCodeBuiltin(org.apache.pulsar.functions.proto.Function.FunctionDetailsOrBuilder functionDetails)static voidmergeJson(java.lang.String json, com.google.protobuf.AbstractMessage.Builder builder)static java.lang.StringprintJson(com.google.protobuf.MessageOrBuilder msg)static doubleroundDecimal(double value, int places)static byte[]toByteArray(java.lang.Object obj)
-
-
-
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 java.lang.Class<?>[] getFunctionTypes(org.apache.pulsar.common.functions.FunctionConfig functionConfig, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
getFunctionTypes
public static java.lang.Class<?>[] getFunctionTypes(java.lang.Class userClass, boolean isWindowConfigPresent)
-
createInstance
public static java.lang.Object createInstance(java.lang.String userClassName, java.lang.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 java.lang.Class<?> getSourceType(java.lang.String className, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
getSourceType
public static java.lang.Class<?> getSourceType(java.lang.Class sourceClass)
-
getSinkType
public static java.lang.Class<?> getSinkType(java.lang.String className, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
getSinkType
public static java.lang.Class<?> getSinkType(java.lang.Class sinkClass)
-
downloadFromHttpUrl
public static void downloadFromHttpUrl(java.lang.String destPkgUrl, java.io.File targetFile) throws java.io.IOException- Throws:
java.io.IOException
-
extractClassLoader
public static java.lang.ClassLoader extractClassLoader(java.lang.String destPkgUrl) throws java.io.IOException, java.net.URISyntaxException- Throws:
java.io.IOExceptionjava.net.URISyntaxException
-
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.IOExceptionjava.net.URISyntaxException
-
extractNarClassLoader
public static org.apache.pulsar.common.nar.NarClassLoader extractNarClassLoader(java.io.File packageFile, java.lang.String narExtractionDirectory)
-
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)
-
toByteArray
public static byte[] toByteArray(java.lang.Object obj) throws java.io.IOException- Throws:
java.io.IOException
-
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 tenantnamespace- 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)
-
getTypeArg
public static java.lang.Class<?> getTypeArg(java.lang.String className, java.lang.Class<?> funClass, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
roundDecimal
public static double roundDecimal(double value, int places)
-
getClassLoaderFromPackage
public static java.lang.ClassLoader getClassLoaderFromPackage(org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType, java.lang.String className, java.io.File packageFile, java.lang.String narExtractionDirectory)
-
capFirstLetter
public static java.lang.String capFirstLetter(java.lang.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)
-
-