Search in sources :

Example 1 with ProcessInstanceAdminService

use of org.jbpm.services.api.admin.ProcessInstanceAdminService in project droolsjbpm-integration by kiegroup.

the class JbpmKieServerExtension method configureServices.

protected void configureServices(KieServerImpl kieServer, KieServerRegistry registry) {
    KieServerConfig config = registry.getConfig();
    // loaded from system property as callback info isn't stored as configuration in kie server repository
    String callbackConfig = System.getProperty(KieServerConstants.CFG_HT_CALLBACK);
    // if no other callback set, use Elytron or jaas by default
    if (callbackConfig == null || callbackConfig.isEmpty()) {
        if (ElytronIdentityProvider.available()) {
            System.setProperty(KieServerConstants.CFG_HT_CALLBACK, "custom");
            String name = ElytronUserGroupCallbackImpl.class.getName();
            ElytronUserGroupCallbackImpl.addExternalUserGroupAdapter(new JMSUserGroupAdapter());
            System.setProperty(KieServerConstants.CFG_HT_CALLBACK_CLASS, name);
        } else {
            System.setProperty(KieServerConstants.CFG_HT_CALLBACK, "jaas");
            JAASUserGroupCallbackImpl.addExternalUserGroupAdapter(new JMSUserGroupAdapter());
        }
    }
    this.isExecutorAvailable = isExecutorOnClasspath();
    EntityManagerFactory emf = build(getPersistenceProperties(config));
    EntityManagerFactoryManager.get().addEntityManagerFactory(persistenceUnitName, emf);
    formManagerService = new FormManagerServiceImpl();
    // build definition service
    definitionService = new BPMN2DataServiceImpl();
    // build deployment service
    deploymentService = new KModuleDeploymentService();
    ((KModuleDeploymentService) deploymentService).setBpmn2Service(definitionService);
    ((KModuleDeploymentService) deploymentService).setEmf(emf);
    ((KModuleDeploymentService) deploymentService).setIdentityProvider(registry.getIdentityProvider());
    ((KModuleDeploymentService) deploymentService).setManagerFactory(new RuntimeManagerFactoryImpl());
    ((KModuleDeploymentService) deploymentService).setFormManagerService(formManagerService);
    // configure user group callback
    UserGroupCallback userGroupCallback = UserDataServiceProvider.getUserGroupCallback();
    UserInfo userInfo = UserDataServiceProvider.getUserInfo();
    TaskService taskService = HumanTaskServiceFactory.newTaskServiceConfigurator().entityManagerFactory(emf).userGroupCallback(userGroupCallback).userInfo(userInfo).getTaskService();
    // build runtime data service
    runtimeDataService = new RuntimeDataServiceImpl();
    ((RuntimeDataServiceImpl) runtimeDataService).setCommandService(new TransactionalCommandService(emf));
    ((RuntimeDataServiceImpl) runtimeDataService).setIdentityProvider(registry.getIdentityProvider());
    ((RuntimeDataServiceImpl) runtimeDataService).setTaskService(taskService);
    ((RuntimeDataServiceImpl) runtimeDataService).setTaskAuditService(TaskAuditServiceFactory.newTaskAuditServiceConfigurator().setTaskService(taskService).getTaskAuditService());
    ((KModuleDeploymentService) deploymentService).setRuntimeDataService(runtimeDataService);
    // build process service
    processService = new ProcessServiceImpl();
    ((ProcessServiceImpl) processService).setDataService(runtimeDataService);
    ((ProcessServiceImpl) processService).setDeploymentService(deploymentService);
    // build user task service
    userTaskService = new UserTaskServiceImpl();
    ((UserTaskServiceImpl) userTaskService).setDataService(runtimeDataService);
    ((UserTaskServiceImpl) userTaskService).setDeploymentService(deploymentService);
    // build query service
    queryService = new QueryServiceImpl();
    ((QueryServiceImpl) queryService).setIdentityProvider(registry.getIdentityProvider());
    ((QueryServiceImpl) queryService).setCommandService(new TransactionalCommandService(emf));
    Function<String, String> kieServerDataSourceResolver = input -> {
        String dataSource = input;
        Matcher matcher = PARAMETER_MATCHER.matcher(dataSource);
        while (matcher.find()) {
            String paramName = matcher.group(1);
            KieServerConfig configuration = context.getStateRepository().load(KieServerEnvironment.getServerId()).getConfiguration();
            dataSource = configuration.getConfigItemValue(paramName, "java:jboss/datasources/ExampleDS");
            logger.info("Data source expression {} resolved to {}", input, dataSource);
        }
        return dataSource;
    };
    ((QueryServiceImpl) queryService).setDataSourceResolver(kieServerDataSourceResolver);
    ((QueryServiceImpl) queryService).init();
    // set runtime data service as listener on deployment service
    ((KModuleDeploymentService) deploymentService).addListener(((RuntimeDataServiceImpl) runtimeDataService));
    ((KModuleDeploymentService) deploymentService).addListener(((BPMN2DataServiceImpl) definitionService));
    ((KModuleDeploymentService) deploymentService).addListener(((QueryServiceImpl) queryService));
    if (config.getConfigItemValue(KieServerConstants.CFG_EXECUTOR_DISABLED, "false").equalsIgnoreCase("false")) {
        String executorQueueName = config.getConfigItemValue(KieServerConstants.CFG_EXECUTOR_JMS_QUEUE, "queue/KIE.SERVER.EXECUTOR");
        // build executor service
        executorService = ExecutorServiceFactory.newExecutorService(emf);
        executorService.setInterval(Integer.parseInt(config.getConfigItemValue(KieServerConstants.CFG_EXECUTOR_INTERVAL, "0")));
        executorService.setRetries(Integer.parseInt(config.getConfigItemValue(KieServerConstants.CFG_EXECUTOR_RETRIES, "3")));
        executorService.setThreadPoolSize(Integer.parseInt(config.getConfigItemValue(KieServerConstants.CFG_EXECUTOR_POOL, "1")));
        executorService.setTimeunit(TimeUnit.valueOf(config.getConfigItemValue(KieServerConstants.CFG_EXECUTOR_TIME_UNIT, "SECONDS")));
        ((ExecutorImpl) ((ExecutorServiceImpl) executorService).getExecutor()).setQueueName(executorQueueName);
        ((KModuleDeploymentService) deploymentService).setExecutorService(executorService);
    }
    // admin services
    this.processInstanceMigrationService = new ProcessInstanceMigrationServiceImpl();
    this.processInstanceAdminService = new ProcessInstanceAdminServiceImpl();
    ((ProcessInstanceAdminServiceImpl) this.processInstanceAdminService).setProcessService(processService);
    ((ProcessInstanceAdminServiceImpl) this.processInstanceAdminService).setRuntimeDataService(runtimeDataService);
    ((ProcessInstanceAdminServiceImpl) this.processInstanceAdminService).setCommandService(new TransactionalCommandService(emf));
    ((ProcessInstanceAdminServiceImpl) this.processInstanceAdminService).setIdentityProvider(registry.getIdentityProvider());
    this.userTaskAdminService = new UserTaskAdminServiceImpl();
    ((UserTaskAdminServiceImpl) this.userTaskAdminService).setRuntimeDataService(runtimeDataService);
    ((UserTaskAdminServiceImpl) this.userTaskAdminService).setUserTaskService(userTaskService);
    ((UserTaskAdminServiceImpl) this.userTaskAdminService).setIdentityProvider(context.getIdentityProvider());
    ((UserTaskAdminServiceImpl) this.userTaskAdminService).setCommandService(new TransactionalCommandService(emf));
    this.advanceRuntimeDataService = new AdvanceRuntimeDataServiceImpl();
    ((AdvanceRuntimeDataServiceImpl) this.advanceRuntimeDataService).setEmf(emf);
    ((AdvanceRuntimeDataServiceImpl) this.advanceRuntimeDataService).setCommandService(new TransactionalCommandService(emf));
    this.kieContainerCommandService = new JBPMKieContainerCommandServiceImpl(context, deploymentService, new DefinitionServiceBase(definitionService, context), new ProcessServiceBase(processService, definitionService, runtimeDataService, context), new UserTaskServiceBase(userTaskService, context), new RuntimeDataServiceBase(runtimeDataService, advanceRuntimeDataService, context), new ExecutorServiceBase(executorService, context), new QueryDataServiceBase(queryService, context), new DocumentServiceBase(context), new ProcessAdminServiceBase(processInstanceMigrationService, processInstanceAdminService, runtimeDataService, context), new UserTaskAdminServiceBase(userTaskAdminService, context));
}
Also used : FormManagerServiceImpl(org.jbpm.kie.services.impl.FormManagerServiceImpl) Arrays(java.util.Arrays) Enumeration(java.util.Enumeration) QueryService(org.jbpm.services.api.query.QueryService) AuditMode(org.kie.internal.runtime.conf.AuditMode) KieServerConstants(org.kie.server.api.KieServerConstants) KieServerMode(org.kie.server.api.model.KieServerMode) UserGroupCallback(org.kie.api.task.UserGroupCallback) DeploymentDescriptor(org.kie.internal.runtime.conf.DeploymentDescriptor) Matcher(java.util.regex.Matcher) QueryServiceImpl(org.jbpm.kie.services.impl.query.QueryServiceImpl) Map(java.util.Map) ProcessInstanceDesc(org.jbpm.services.api.model.ProcessInstanceDesc) Message(org.kie.server.api.model.Message) InitialContext(javax.naming.InitialContext) PersistenceProviderResolverHolder(javax.persistence.spi.PersistenceProviderResolverHolder) UserTaskServiceImpl(org.jbpm.kie.services.impl.UserTaskServiceImpl) KieModuleMetaData(org.kie.scanner.KieModuleMetaData) PersistenceUnitInfoImpl(org.kie.server.services.jbpm.jpa.PersistenceUnitInfoImpl) PersistenceUnitInfo(javax.persistence.spi.PersistenceUnitInfo) Set(java.util.Set) QueryContext(org.kie.api.runtime.query.QueryContext) KieServerRegistry(org.kie.server.services.api.KieServerRegistry) IOUtils(org.apache.commons.io.IOUtils) EntityManagerFactory(javax.persistence.EntityManagerFactory) ExecutorServiceImpl(org.jbpm.executor.impl.ExecutorServiceImpl) DeploymentDescriptorMerger(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorMerger) RuntimeManagerFactoryImpl(org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl) ExceptionUtils(org.apache.commons.lang3.exception.ExceptionUtils) SupportedTransports(org.kie.server.services.api.SupportedTransports) ObjectModel(org.kie.internal.runtime.conf.ObjectModel) FormManagerServiceImpl(org.jbpm.kie.services.impl.FormManagerServiceImpl) ProcessInstanceAdminService(org.jbpm.services.api.admin.ProcessInstanceAdminService) ArrayList(java.util.ArrayList) ProcessInstanceAdminServiceImpl(org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImpl) DeploymentService(org.jbpm.services.api.DeploymentService) QueryNotFoundException(org.jbpm.services.api.query.QueryNotFoundException) JAASUserGroupCallbackImpl(org.jbpm.services.task.identity.JAASUserGroupCallbackImpl) TaskAuditServiceFactory(org.jbpm.services.task.audit.TaskAuditServiceFactory) ExecutorImpl(org.jbpm.executor.impl.ExecutorImpl) TaskService(org.kie.api.task.TaskService) MarshallingException(org.kie.server.api.marshalling.MarshallingException) InternalKieContainer(org.drools.core.impl.InternalKieContainer) AbstractDeploymentService(org.jbpm.kie.services.impl.AbstractDeploymentService) UserDataServiceProvider(org.jbpm.runtime.manager.impl.identity.UserDataServiceProvider) PersistenceUnitExtensionsLoader(org.kie.server.services.jbpm.jpa.PersistenceUnitExtensionsLoader) IOException(java.io.IOException) ProcessInstanceMigrationService(org.jbpm.services.api.admin.ProcessInstanceMigrationService) QueryMapperRegistry(org.jbpm.services.api.query.QueryMapperRegistry) PersistenceProvider(javax.persistence.spi.PersistenceProvider) HumanTaskServiceFactory(org.jbpm.services.task.HumanTaskServiceFactory) AdvanceRuntimeDataService(org.jbpm.services.api.AdvanceRuntimeDataService) KieServerApplicationComponentsService(org.kie.server.services.api.KieServerApplicationComponentsService) FormManagerService(org.jbpm.kie.services.impl.FormManagerService) UserTaskAdminServiceBase(org.kie.server.services.jbpm.admin.UserTaskAdminServiceBase) DeploymentDescriptorManager(org.kie.internal.runtime.manager.deploy.DeploymentDescriptorManager) UserInfo(org.kie.internal.task.api.UserInfo) URL(java.net.URL) LoggerFactory(org.slf4j.LoggerFactory) DeploymentDescriptorManagerUtil(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorManagerUtil) AdvanceRuntimeDataServiceImpl(org.jbpm.kie.services.impl.AdvanceRuntimeDataServiceImpl) ReleaseId(org.kie.api.builder.ReleaseId) DocumentImpl(org.jbpm.document.service.impl.DocumentImpl) ProcessInstanceMigrationServiceImpl(org.jbpm.kie.services.impl.admin.ProcessInstanceMigrationServiceImpl) MarshallingFormat(org.kie.server.api.marshalling.MarshallingFormat) RuntimeDataServiceImpl(org.jbpm.kie.services.impl.RuntimeDataServiceImpl) Collection(java.util.Collection) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) ExecutorServiceFactory(org.jbpm.executor.ExecutorServiceFactory) ElytronIdentityProvider(org.kie.server.services.impl.security.ElytronIdentityProvider) ServiceLoader(java.util.ServiceLoader) JMSUserGroupAdapter(org.kie.server.services.jbpm.security.JMSUserGroupAdapter) MergeMode(org.kie.internal.runtime.conf.MergeMode) ElytronUserGroupCallbackImpl(org.kie.server.services.jbpm.security.ElytronUserGroupCallbackImpl) FileNotFoundException(java.io.FileNotFoundException) KieContainerInstance(org.kie.server.services.api.KieContainerInstance) PersistenceUnitInfoLoader(org.kie.server.services.jbpm.jpa.PersistenceUnitInfoLoader) List(java.util.List) UserTaskAdminService(org.jbpm.services.api.admin.UserTaskAdminService) KieSessionModel(org.kie.api.builder.model.KieSessionModel) RuntimeStrategy(org.kie.internal.runtime.conf.RuntimeStrategy) KModuleDeploymentUnit(org.jbpm.kie.services.impl.KModuleDeploymentUnit) KModuleDeploymentService(org.jbpm.kie.services.impl.KModuleDeploymentService) Pattern(java.util.regex.Pattern) ProcessServiceImpl(org.jbpm.kie.services.impl.ProcessServiceImpl) ProcessService(org.jbpm.services.api.ProcessService) PreUndeployOperations(org.jbpm.kie.services.impl.utils.PreUndeployOperations) KieServerConfig(org.kie.server.api.model.KieServerConfig) HashMap(java.util.HashMap) Function(java.util.function.Function) TransactionalCommandService(org.jbpm.shared.services.impl.TransactionalCommandService) HashSet(java.util.HashSet) KieServerExtension(org.kie.server.services.api.KieServerExtension) ExecutorService(org.kie.api.executor.ExecutorService) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) QueryDefinition(org.kie.server.api.model.definition.QueryDefinition) Charset(java.nio.charset.Charset) ProcessAdminServiceBase(org.kie.server.services.jbpm.admin.ProcessAdminServiceBase) Severity(org.kie.server.api.model.Severity) UserTaskService(org.jbpm.services.api.UserTaskService) EntityManagerFactoryManager(org.jbpm.runtime.manager.impl.jpa.EntityManagerFactoryManager) MarshallerFactory(org.kie.server.api.marshalling.MarshallerFactory) Logger(org.slf4j.Logger) UserTaskAdminServiceImpl(org.jbpm.kie.services.impl.admin.UserTaskAdminServiceImpl) KieServerEnvironment(org.kie.server.api.KieServerEnvironment) FileInputStream(java.io.FileInputStream) DefinitionService(org.jbpm.services.api.DefinitionService) TimeUnit(java.util.concurrent.TimeUnit) RuntimeDataService(org.jbpm.services.api.RuntimeDataService) KieContainerCommandService(org.kie.server.services.api.KieContainerCommandService) BPMN2DataServiceImpl(org.jbpm.kie.services.impl.bpmn2.BPMN2DataServiceImpl) KieServerImpl(org.kie.server.services.impl.KieServerImpl) DeployedUnit(org.jbpm.services.api.model.DeployedUnit) NamedObjectModel(org.kie.internal.runtime.conf.NamedObjectModel) InputStream(java.io.InputStream) BPMN2DataServiceImpl(org.jbpm.kie.services.impl.bpmn2.BPMN2DataServiceImpl) UserTaskAdminServiceImpl(org.jbpm.kie.services.impl.admin.UserTaskAdminServiceImpl) Matcher(java.util.regex.Matcher) UserTaskAdminServiceBase(org.kie.server.services.jbpm.admin.UserTaskAdminServiceBase) UserInfo(org.kie.internal.task.api.UserInfo) UserGroupCallback(org.kie.api.task.UserGroupCallback) AdvanceRuntimeDataServiceImpl(org.jbpm.kie.services.impl.AdvanceRuntimeDataServiceImpl) KModuleDeploymentService(org.jbpm.kie.services.impl.KModuleDeploymentService) ProcessServiceImpl(org.jbpm.kie.services.impl.ProcessServiceImpl) ProcessInstanceMigrationServiceImpl(org.jbpm.kie.services.impl.admin.ProcessInstanceMigrationServiceImpl) QueryServiceImpl(org.jbpm.kie.services.impl.query.QueryServiceImpl) RuntimeManagerFactoryImpl(org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl) TaskService(org.kie.api.task.TaskService) UserTaskService(org.jbpm.services.api.UserTaskService) ExecutorImpl(org.jbpm.executor.impl.ExecutorImpl) KieServerConfig(org.kie.server.api.model.KieServerConfig) UserTaskServiceImpl(org.jbpm.kie.services.impl.UserTaskServiceImpl) ProcessInstanceAdminServiceImpl(org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImpl) ProcessAdminServiceBase(org.kie.server.services.jbpm.admin.ProcessAdminServiceBase) AdvanceRuntimeDataServiceImpl(org.jbpm.kie.services.impl.AdvanceRuntimeDataServiceImpl) RuntimeDataServiceImpl(org.jbpm.kie.services.impl.RuntimeDataServiceImpl) EntityManagerFactory(javax.persistence.EntityManagerFactory) TransactionalCommandService(org.jbpm.shared.services.impl.TransactionalCommandService) JMSUserGroupAdapter(org.kie.server.services.jbpm.security.JMSUserGroupAdapter)

Example 2 with ProcessInstanceAdminService

use of org.jbpm.services.api.admin.ProcessInstanceAdminService in project droolsjbpm-integration by kiegroup.

the class JbpmRestApplicationComponentsService method getAppComponents.

@Override
public Collection<Object> getAppComponents(String extension, SupportedTransports type, Object... services) {
    // skip calls from other than owning extension
    if (!OWNER_EXTENSION.equals(extension)) {
        return Collections.emptyList();
    }
    ProcessService processService = null;
    RuntimeDataService runtimeDataService = null;
    DefinitionService definitionService = null;
    UserTaskService userTaskService = null;
    ExecutorService executorService = null;
    QueryService queryService = null;
    ProcessInstanceMigrationService processInstanceMigrationService = null;
    ProcessInstanceAdminService processInstanceAdminService = null;
    UserTaskAdminService userTaskAdminService = null;
    KieServerRegistry context = null;
    AdvanceRuntimeDataService advanceRuntimeDataService = null;
    for (Object object : services) {
        // in case given service is null (meaning was not configured) continue with next one
        if (object == null) {
            continue;
        }
        if (ProcessService.class.isAssignableFrom(object.getClass())) {
            processService = (ProcessService) object;
            continue;
        } else if (RuntimeDataService.class.isAssignableFrom(object.getClass())) {
            runtimeDataService = (RuntimeDataService) object;
            continue;
        } else if (DefinitionService.class.isAssignableFrom(object.getClass())) {
            definitionService = (DefinitionService) object;
            continue;
        } else if (UserTaskService.class.isAssignableFrom(object.getClass())) {
            userTaskService = (UserTaskService) object;
            continue;
        } else if (ExecutorService.class.isAssignableFrom(object.getClass())) {
            executorService = (ExecutorService) object;
            continue;
        } else if (QueryService.class.isAssignableFrom(object.getClass())) {
            queryService = (QueryService) object;
            continue;
        } else if (ProcessInstanceMigrationService.class.isAssignableFrom(object.getClass())) {
            processInstanceMigrationService = (ProcessInstanceMigrationService) object;
            continue;
        } else if (ProcessInstanceAdminService.class.isAssignableFrom(object.getClass())) {
            processInstanceAdminService = (ProcessInstanceAdminService) object;
            continue;
        } else if (UserTaskAdminService.class.isAssignableFrom(object.getClass())) {
            userTaskAdminService = (UserTaskAdminService) object;
            continue;
        } else if (KieServerRegistry.class.isAssignableFrom(object.getClass())) {
            context = (KieServerRegistry) object;
            continue;
        } else if (AdvanceRuntimeDataService.class.isAssignableFrom(object.getClass())) {
            advanceRuntimeDataService = (AdvanceRuntimeDataService) object;
            continue;
        }
    }
    List<Object> components = new ArrayList<Object>(6);
    DefinitionServiceBase definitionServiceBase = new DefinitionServiceBase(definitionService, context);
    ProcessServiceBase processServiceBase = new ProcessServiceBase(processService, definitionService, runtimeDataService, context);
    UserTaskServiceBase userTaskServiceBase = new UserTaskServiceBase(userTaskService, context);
    RuntimeDataServiceBase runtimeDataServiceBase = new RuntimeDataServiceBase(runtimeDataService, advanceRuntimeDataService, context);
    ExecutorServiceBase executorServiceBase = new ExecutorServiceBase(executorService, context);
    QueryDataServiceBase queryDataServiceBase = new QueryDataServiceBase(queryService, context);
    DocumentServiceBase documentServiceBase = new DocumentServiceBase(context);
    ProcessAdminServiceBase processAdminServiceBase = new ProcessAdminServiceBase(processInstanceMigrationService, processInstanceAdminService, runtimeDataService, context);
    UserTaskAdminServiceBase userTaskAdminServiceBase = new UserTaskAdminServiceBase(userTaskAdminService, context);
    components.add(new ProcessResource(processServiceBase, runtimeDataServiceBase, context));
    components.add(new RuntimeDataResource(runtimeDataServiceBase, context));
    components.add(new DefinitionResource(definitionServiceBase, context));
    components.add(new UserTaskResource(userTaskServiceBase, runtimeDataServiceBase, context));
    components.add(new ExecutorResource(executorServiceBase, context));
    components.add(new QueryDataResource(queryDataServiceBase, context));
    components.add(new DocumentResource(documentServiceBase, context));
    components.add(new ProcessAdminResource(processAdminServiceBase, context));
    components.add(new UserTaskAdminResource(userTaskAdminServiceBase, context));
    return components;
}
Also used : UserTaskAdminResource(org.kie.server.remote.rest.jbpm.admin.UserTaskAdminResource) ArrayList(java.util.ArrayList) UserTaskAdminServiceBase(org.kie.server.services.jbpm.admin.UserTaskAdminServiceBase) DefinitionServiceBase(org.kie.server.services.jbpm.DefinitionServiceBase) AdvanceRuntimeDataService(org.jbpm.services.api.AdvanceRuntimeDataService) KieServerRegistry(org.kie.server.services.api.KieServerRegistry) ProcessAdminResource(org.kie.server.remote.rest.jbpm.admin.ProcessAdminResource) ProcessInstanceMigrationService(org.jbpm.services.api.admin.ProcessInstanceMigrationService) ProcessService(org.jbpm.services.api.ProcessService) UserTaskServiceBase(org.kie.server.services.jbpm.UserTaskServiceBase) AdvanceRuntimeDataService(org.jbpm.services.api.AdvanceRuntimeDataService) RuntimeDataService(org.jbpm.services.api.RuntimeDataService) DefinitionService(org.jbpm.services.api.DefinitionService) ProcessInstanceAdminService(org.jbpm.services.api.admin.ProcessInstanceAdminService) RuntimeDataServiceBase(org.kie.server.services.jbpm.RuntimeDataServiceBase) DocumentServiceBase(org.kie.server.services.jbpm.DocumentServiceBase) ExecutorServiceBase(org.kie.server.services.jbpm.ExecutorServiceBase) ProcessAdminServiceBase(org.kie.server.services.jbpm.admin.ProcessAdminServiceBase) QueryService(org.jbpm.services.api.query.QueryService) UserTaskAdminService(org.jbpm.services.api.admin.UserTaskAdminService) ExecutorService(org.kie.api.executor.ExecutorService) ProcessServiceBase(org.kie.server.services.jbpm.ProcessServiceBase) UserTaskService(org.jbpm.services.api.UserTaskService) QueryDataServiceBase(org.kie.server.services.jbpm.QueryDataServiceBase)

Example 3 with ProcessInstanceAdminService

use of org.jbpm.services.api.admin.ProcessInstanceAdminService in project businessautomation-cop by redhat-cop.

the class ReopenProcessExtensionComponentService method getAppComponents.

@Override
public Collection<Object> getAppComponents(String extension, SupportedTransports supportedTransports, Object... services) {
    if (!OWNER_EXTENSION.equals(extension)) {
        return Collections.emptyList();
    }
    logger.info("Registering ReopenProcessExtensionComponentService");
    RuntimeDataService runtimeService = null;
    ProcessInstanceAdminService adminService = null;
    ProcessService processService = null;
    for (Object object : services) {
        logger.info("found service {}", object);
        if (RuntimeDataService.class.isAssignableFrom(object.getClass())) {
            runtimeService = (RuntimeDataService) object;
            logger.info("Found runtimeService  service {}", runtimeService);
            continue;
        } else if (ProcessInstanceAdminService.class.isAssignableFrom(object.getClass())) {
            adminService = (ProcessInstanceAdminService) object;
            logger.info("Found admin  service {}", adminService);
            continue;
        } else if (ProcessService.class.isAssignableFrom(object.getClass())) {
            processService = (ProcessService) object;
            logger.info("Found process  service {}", adminService);
            continue;
        }
    }
    List<Object> components = new ArrayList<Object>(1);
    if (SupportedTransports.REST.equals(supportedTransports)) {
        components.add(new ReopenProcessResource(runtimeService, adminService, processService));
    }
    logger.info("ReopenProcessExtensionComponentService registered");
    return components;
}
Also used : RuntimeDataService(org.jbpm.services.api.RuntimeDataService) ProcessInstanceAdminService(org.jbpm.services.api.admin.ProcessInstanceAdminService) ArrayList(java.util.ArrayList) ProcessService(org.jbpm.services.api.ProcessService)

Aggregations

ArrayList (java.util.ArrayList)3 ProcessService (org.jbpm.services.api.ProcessService)2 RuntimeDataService (org.jbpm.services.api.RuntimeDataService)2 ProcessInstanceAdminService (org.jbpm.services.api.admin.ProcessInstanceAdminService)2 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 URL (java.net.URL)1 Charset (java.nio.charset.Charset)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Enumeration (java.util.Enumeration)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 ServiceLoader (java.util.ServiceLoader)1 Set (java.util.Set)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1