Class ComponentImpl
- java.lang.Object
-
- org.apache.pulsar.functions.worker.rest.api.ComponentImpl
-
- All Implemented Interfaces:
Component<PulsarWorkerService>
- Direct Known Subclasses:
FunctionsImpl,SinksImpl,SourcesImpl
public abstract class ComponentImpl extends java.lang.Object implements Component<PulsarWorkerService>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classComponentImpl.GetStatus<S,T>
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentTypecomponentTypeprotected java.util.function.Supplier<PulsarWorkerService>workerServiceSupplier
-
Constructor Summary
Constructors Constructor Description ComponentImpl(java.util.function.Supplier<PulsarWorkerService> workerServiceSupplier, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowFunctionOps(org.apache.pulsar.common.naming.NamespaceName namespaceName, java.lang.String role, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)voidchangeFunctionInstanceStatus(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, boolean start, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidchangeFunctionStatusAllInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, boolean start, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)protected voidcomponentInstanceStatusRequestValidate(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, int instanceId, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)protected voidcomponentStatusRequestValidate(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)static java.lang.StringcreatePackagePath(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String fileName)voidderegisterFunction(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataHttps clientAuthenticationDataHttps)javax.ws.rs.core.StreamingOutputdownloadFunction(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataHttps clientAuthenticationDataHttps)javax.ws.rs.core.StreamingOutputdownloadFunction(java.lang.String path, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataHttps clientAuthenticationDataHttps)protected java.lang.ClassLoadergetClassLoaderFromPackage(java.lang.String className, java.io.File packageFile, java.lang.String narExtractionDirectory)org.apache.pulsar.common.functions.FunctionConfiggetFunctionInfo(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)org.apache.pulsar.common.policies.data.FunctionInstanceStatsDataImplgetFunctionsInstanceStats(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)org.apache.pulsar.common.functions.FunctionStategetFunctionState(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String key, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)org.apache.pulsar.common.policies.data.FunctionStatsImplgetFunctionStats(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)java.util.List<org.apache.pulsar.common.io.ConnectorDefinition>getListOfConnectors()booleanisAuthorizedRole(java.lang.String tenant, java.lang.String namespace, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)booleanisSuperUser(java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)java.util.List<java.lang.String>listFunctions(java.lang.String tenant, java.lang.String namespace, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidputFunctionState(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String key, org.apache.pulsar.common.functions.FunctionState state, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidreloadConnectors(java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)voidrestartFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidrestartFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidstartFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidstartFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidstopFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voidstopFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)java.lang.StringtriggerFunction(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String input, java.io.InputStream uploadedInputStream, java.lang.String topic, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)voiduploadFunction(java.io.InputStream uploadedInputStream, java.lang.String path, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)protected voidvalidateGetFunctionInstanceRequestParams(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType, java.lang.String instanceId)protected voidvalidateGetFunctionRequestParams(java.lang.String tenant, java.lang.String namespace, java.lang.String subject, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType)PulsarWorkerServiceworker()
-
-
-
Field Detail
-
workerServiceSupplier
protected final java.util.function.Supplier<PulsarWorkerService> workerServiceSupplier
-
componentType
protected final org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType
-
-
Constructor Detail
-
ComponentImpl
public ComponentImpl(java.util.function.Supplier<PulsarWorkerService> workerServiceSupplier, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType)
-
-
Method Detail
-
worker
public PulsarWorkerService worker()
- Specified by:
workerin interfaceComponent<PulsarWorkerService>
-
deregisterFunction
public void deregisterFunction(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataHttps clientAuthenticationDataHttps)- Specified by:
deregisterFunctionin interfaceComponent<PulsarWorkerService>
-
getFunctionInfo
public org.apache.pulsar.common.functions.FunctionConfig getFunctionInfo(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
getFunctionInfoin interfaceComponent<PulsarWorkerService>
-
stopFunctionInstance
public void stopFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
stopFunctionInstancein interfaceComponent<PulsarWorkerService>
-
startFunctionInstance
public void startFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
startFunctionInstancein interfaceComponent<PulsarWorkerService>
-
changeFunctionInstanceStatus
public void changeFunctionInstanceStatus(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, boolean start, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)
-
restartFunctionInstance
public void restartFunctionInstance(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
restartFunctionInstancein interfaceComponent<PulsarWorkerService>
-
stopFunctionInstances
public void stopFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
stopFunctionInstancesin interfaceComponent<PulsarWorkerService>
-
startFunctionInstances
public void startFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
startFunctionInstancesin interfaceComponent<PulsarWorkerService>
-
changeFunctionStatusAllInstances
public void changeFunctionStatusAllInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, boolean start, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)
-
restartFunctionInstances
public void restartFunctionInstances(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
restartFunctionInstancesin interfaceComponent<PulsarWorkerService>
-
getFunctionStats
public org.apache.pulsar.common.policies.data.FunctionStatsImpl getFunctionStats(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
getFunctionStatsin interfaceComponent<PulsarWorkerService>
-
getFunctionsInstanceStats
public org.apache.pulsar.common.policies.data.FunctionInstanceStatsDataImpl getFunctionsInstanceStats(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String instanceId, java.net.URI uri, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
getFunctionsInstanceStatsin interfaceComponent<PulsarWorkerService>
-
listFunctions
public java.util.List<java.lang.String> listFunctions(java.lang.String tenant, java.lang.String namespace, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
listFunctionsin interfaceComponent<PulsarWorkerService>
-
getListOfConnectors
public java.util.List<org.apache.pulsar.common.io.ConnectorDefinition> getListOfConnectors()
- Specified by:
getListOfConnectorsin interfaceComponent<PulsarWorkerService>
-
reloadConnectors
public void reloadConnectors(java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)- Specified by:
reloadConnectorsin interfaceComponent<PulsarWorkerService>
-
triggerFunction
public java.lang.String triggerFunction(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String input, java.io.InputStream uploadedInputStream, java.lang.String topic, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
triggerFunctionin interfaceComponent<PulsarWorkerService>
-
getFunctionState
public org.apache.pulsar.common.functions.FunctionState getFunctionState(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String key, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
getFunctionStatein interfaceComponent<PulsarWorkerService>
-
putFunctionState
public void putFunctionState(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String key, org.apache.pulsar.common.functions.FunctionState state, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)- Specified by:
putFunctionStatein interfaceComponent<PulsarWorkerService>
-
uploadFunction
public void uploadFunction(java.io.InputStream uploadedInputStream, java.lang.String path, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)- Specified by:
uploadFunctionin interfaceComponent<PulsarWorkerService>
-
downloadFunction
public javax.ws.rs.core.StreamingOutput downloadFunction(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataHttps clientAuthenticationDataHttps)- Specified by:
downloadFunctionin interfaceComponent<PulsarWorkerService>
-
downloadFunction
public javax.ws.rs.core.StreamingOutput downloadFunction(java.lang.String path, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataHttps clientAuthenticationDataHttps)- Specified by:
downloadFunctionin interfaceComponent<PulsarWorkerService>
-
validateGetFunctionInstanceRequestParams
protected void validateGetFunctionInstanceRequestParams(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType, java.lang.String instanceId) throws java.lang.IllegalArgumentException- Throws:
java.lang.IllegalArgumentException
-
validateGetFunctionRequestParams
protected void validateGetFunctionRequestParams(java.lang.String tenant, java.lang.String namespace, java.lang.String subject, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType) throws java.lang.IllegalArgumentException- Throws:
java.lang.IllegalArgumentException
-
createPackagePath
public static java.lang.String createPackagePath(java.lang.String tenant, java.lang.String namespace, java.lang.String functionName, java.lang.String fileName)
-
isAuthorizedRole
public boolean isAuthorizedRole(java.lang.String tenant, java.lang.String namespace, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData) throws org.apache.pulsar.client.admin.PulsarAdminException- Throws:
org.apache.pulsar.client.admin.PulsarAdminException
-
componentStatusRequestValidate
protected void componentStatusRequestValidate(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)
-
componentInstanceStatusRequestValidate
protected void componentInstanceStatusRequestValidate(java.lang.String tenant, java.lang.String namespace, java.lang.String componentName, int instanceId, java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource clientAuthenticationDataHttps)
-
isSuperUser
public boolean isSuperUser(java.lang.String clientRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)
-
allowFunctionOps
public boolean allowFunctionOps(org.apache.pulsar.common.naming.NamespaceName namespaceName, java.lang.String role, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)
-
getClassLoaderFromPackage
protected java.lang.ClassLoader getClassLoaderFromPackage(java.lang.String className, java.io.File packageFile, java.lang.String narExtractionDirectory)
-
-