Search in sources :

Example 1 with FormManagerService

use of org.jbpm.kie.services.impl.FormManagerService in project droolsjbpm-integration by kiegroup.

the class FormRendererBaseTest method testGenerateDefaultForm.

@Test
public void testGenerateDefaultForm() {
    DefinitionService definitionService = mock(DefinitionService.class);
    UserTaskService userTaskService = mock(UserTaskService.class);
    FormManagerService formManagerService = mock(FormManagerService.class);
    CaseRuntimeDataService caseRuntimeDataService = mock(CaseRuntimeDataService.class);
    KieServerRegistry registry = mock(KieServerRegistry.class);
    ProcessDefinition processDefinition = mock(ProcessDefinition.class);
    when(processDefinition.getId()).thenReturn("testprocess");
    when(processDefinition.getName()).thenReturn("Test Process");
    FormRendererBase rendererBase = new FormRendererBase(definitionService, userTaskService, formManagerService, caseRuntimeDataService, registry);
    when(registry.getContainerId(any(), any())).thenReturn("test");
    when(definitionService.getProcessDefinition(eq("test"), eq("test-process"))).thenReturn(processDefinition);
    String result = rendererBase.getProcessRenderedForm("patternfly", "test", "test-process");
    logger.debug("Form content is '{}'", result);
    assertThat(result).isNotNull().isNotEmpty();
    // it has the patternfly (default renderer) css
    assertThat(result).contains("/files/patternfly/css/patternfly.min.css\" rel=\"stylesheet\">");
    assertThat(result).contains("/files/patternfly/css/patternfly-additions.min.css\" rel=\"stylesheet\">");
    // it has required js files
    assertThat(result).contains("/files/patternfly/js/jquery.min.js\"></script>");
    assertThat(result).contains("/files/patternfly/js/patternfly.min.js\"></script>");
    assertThat(result).contains("/files/js/kieserver-ui.js\"></script>");
    // it has the form header
    assertThat(result).contains("<h3 class=\"panel-title\">Default form - Test Process</h3>");
}
Also used : DefinitionService(org.jbpm.services.api.DefinitionService) CaseRuntimeDataService(org.jbpm.casemgmt.api.CaseRuntimeDataService) KieServerRegistry(org.kie.server.services.api.KieServerRegistry) UserTaskService(org.jbpm.services.api.UserTaskService) ProcessDefinition(org.jbpm.services.api.model.ProcessDefinition) FormManagerService(org.jbpm.kie.services.impl.FormManagerService) Test(org.junit.Test)

Example 2 with FormManagerService

use of org.jbpm.kie.services.impl.FormManagerService in project droolsjbpm-integration by kiegroup.

the class FormRendererBaseTest method testGenerateDefaultFormWithVariables.

@Test
public void testGenerateDefaultFormWithVariables() {
    DefinitionService definitionService = mock(DefinitionService.class);
    UserTaskService userTaskService = mock(UserTaskService.class);
    FormManagerService formManagerService = mock(FormManagerService.class);
    CaseRuntimeDataService caseRuntimeDataService = mock(CaseRuntimeDataService.class);
    KieServerRegistry registry = mock(KieServerRegistry.class);
    ProcessDefinition processDefinition = mock(ProcessDefinition.class);
    when(processDefinition.getId()).thenReturn("testprocess");
    when(processDefinition.getName()).thenReturn("Test Process");
    Map<String, String> variables = new HashMap<>();
    variables.put("name", "java.lang.String");
    variables.put("age", "java.lang.Integer");
    variables.put("maried", "java.lang.Boolean");
    when(processDefinition.getProcessVariables()).thenReturn(variables);
    Map<String, Set<String>> tags = new HashMap<>();
    Set<String> tags1 = new HashSet<>();
    tags1.add("required");
    Set<String> tags2 = new HashSet<>();
    tags2.add("readonly");
    tags.put("name", tags1);
    tags.put("maried", tags2);
    when(processDefinition.getTagsInfo()).thenReturn(tags);
    when(processDefinition.getTagsForVariable(eq("name"))).thenReturn(tags1);
    when(processDefinition.getTagsForVariable(eq("maried"))).thenReturn(tags2);
    FormRendererBase rendererBase = new FormRendererBase(definitionService, userTaskService, formManagerService, caseRuntimeDataService, registry);
    when(registry.getContainerId(any(), any())).thenReturn("test");
    when(definitionService.getProcessDefinition(eq("test"), eq("test-process"))).thenReturn(processDefinition);
    String result = rendererBase.getProcessRenderedForm("patternfly", "test", "test-process");
    // it has the patternfly (default renderer) css
    assertThat(result).contains("/files/patternfly/css/patternfly.min.css\" rel=\"stylesheet\">");
    assertThat(result).contains("/files/patternfly/css/patternfly-additions.min.css\" rel=\"stylesheet\">");
    // it has required js files
    assertThat(result).contains("/files/patternfly/js/jquery.min.js\"></script>");
    assertThat(result).contains("/files/patternfly/js/patternfly.min.js\"></script>");
    assertThat(result).contains("/files/js/kieserver-ui.js\"></script>");
    // it has the form header
    assertThat(result).contains("<h3 class=\"panel-title\">Default form - Test Process</h3>");
    // it has all three variables rendered
    Pattern namePattern = Pattern.compile("<input name=\"name\" type=\"text\" class=\"form-control\".*required.*>");
    Matcher nameMatcher = namePattern.matcher(result);
    assertTrue(nameMatcher.find());
    Pattern mariedPattern = Pattern.compile("<input name=\"maried\" type=\"checkbox\" class=\"form-control\".*readonly.*>");
    Matcher mariedMatcher = mariedPattern.matcher(result);
    assertTrue(mariedMatcher.find());
    assertThat(result).contains("<input name=\"age\" type=\"text\" class=\"form-control\" ");
    // it has start process button
    assertThat(result).contains("<button type=\"button\" class=\"btn btn-primary\" onclick=\"startProcess(this);\">Submit</button>");
}
Also used : DefinitionService(org.jbpm.services.api.DefinitionService) Pattern(java.util.regex.Pattern) Set(java.util.Set) HashSet(java.util.HashSet) HashMap(java.util.HashMap) Matcher(java.util.regex.Matcher) ProcessDefinition(org.jbpm.services.api.model.ProcessDefinition) CaseRuntimeDataService(org.jbpm.casemgmt.api.CaseRuntimeDataService) KieServerRegistry(org.kie.server.services.api.KieServerRegistry) UserTaskService(org.jbpm.services.api.UserTaskService) FormManagerService(org.jbpm.kie.services.impl.FormManagerService) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 3 with FormManagerService

use of org.jbpm.kie.services.impl.FormManagerService 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 4 with FormManagerService

use of org.jbpm.kie.services.impl.FormManagerService in project droolsjbpm-integration by kiegroup.

the class JBPMUIKieServerExtension method init.

@Override
public void init(KieServerImpl kieServer, KieServerRegistry registry) {
    this.registry = registry;
    KieServerExtension jbpmExtension = registry.getServerExtension("jBPM");
    if (jbpmExtension == null) {
        initialized = false;
        logger.warn("jBPM extension not found, jBPM UI cannot work without jBPM extension, disabling itself");
        return;
    }
    List<Object> jbpmServices = jbpmExtension.getServices();
    RuntimeDataService runtimeDataService = null;
    DefinitionService definitionService = null;
    UserTaskService userTaskService = null;
    FormManagerService formManagerService = null;
    CaseRuntimeDataService caseRuntimeDataService = null;
    for (Object object : jbpmServices) {
        // in case given service is null (meaning was not configured) continue with next one
        if (object == null) {
            continue;
        }
        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 (FormManagerService.class.isAssignableFrom(object.getClass())) {
            formManagerService = (FormManagerService) object;
            continue;
        } else if (DeploymentService.class.isAssignableFrom(object.getClass())) {
            deploymentService = (DeploymentService) object;
            continue;
        }
    }
    KieServerExtension caseExtension = registry.getServerExtension("Case-Mgmt");
    if (caseExtension != null) {
        List<Object> caseMgmtServices = caseExtension.getServices();
        for (Object object : caseMgmtServices) {
            // in case given service is null (meaning was not configured) continue with next one
            if (object == null) {
                continue;
            }
            if (CaseRuntimeDataService.class.isAssignableFrom(object.getClass())) {
                caseRuntimeDataService = (CaseRuntimeDataService) object;
                continue;
            }
        }
    } else {
        logger.warn("Case-Mgmt extension not found, jBPM UI capabilities will be limited");
    }
    formServiceBase = new FormServiceBase(definitionService, runtimeDataService, userTaskService, formManagerService, registry);
    imageServiceBase = new ImageServiceBase(runtimeDataService, imageReferences, registry);
    formRendererBase = new FormRendererBase(definitionService, userTaskService, formManagerService, caseRuntimeDataService, registry);
    services.add(formServiceBase);
    services.add(imageServiceBase);
    services.add(formRendererBase);
    this.kieContainerCommandService = new JBPMUIKieContainerCommandServiceImpl(null, formServiceBase, imageServiceBase, formRendererBase);
    initialized = true;
}
Also used : CaseRuntimeDataService(org.jbpm.casemgmt.api.CaseRuntimeDataService) RuntimeDataService(org.jbpm.services.api.RuntimeDataService) DefinitionService(org.jbpm.services.api.DefinitionService) CaseRuntimeDataService(org.jbpm.casemgmt.api.CaseRuntimeDataService) KieServerExtension(org.kie.server.services.api.KieServerExtension) UserTaskService(org.jbpm.services.api.UserTaskService) FormManagerService(org.jbpm.kie.services.impl.FormManagerService)

Aggregations

FormManagerService (org.jbpm.kie.services.impl.FormManagerService)4 DefinitionService (org.jbpm.services.api.DefinitionService)4 UserTaskService (org.jbpm.services.api.UserTaskService)4 CaseRuntimeDataService (org.jbpm.casemgmt.api.CaseRuntimeDataService)3 KieServerRegistry (org.kie.server.services.api.KieServerRegistry)3 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 Set (java.util.Set)2 Matcher (java.util.regex.Matcher)2 Pattern (java.util.regex.Pattern)2 ProcessDefinition (org.jbpm.services.api.model.ProcessDefinition)2 Test (org.junit.Test)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 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1