use of org.jbpm.kie.services.impl.model.ProcessAssetDesc in project jbpm by kiegroup.
the class RuntimeDataServiceImpl method onDeactivate.
@Override
public void onDeactivate(DeploymentEvent event) {
Collection<ProcessAssetDesc> outputCollection = new HashSet<ProcessAssetDesc>();
CollectionUtils.select(availableProcesses, new UnsecureByDeploymentIdPredicate(event.getDeploymentId()), outputCollection);
for (ProcessAssetDesc process : outputCollection) {
process.setActive(false);
}
}
use of org.jbpm.kie.services.impl.model.ProcessAssetDesc in project jbpm by kiegroup.
the class RuntimeDataServiceImpl method getProcessIds.
@Override
public Collection<String> getProcessIds(String deploymentId, QueryContext queryContext) {
deploymentId = getLatestDeploymentId(requireNonNull(deploymentId, DEPLOYMENT_ID_MUST_NOT_BE_NULL));
List<String> processIds = new ArrayList<String>(availableProcesses.size());
if (deploymentId == null || deploymentId.isEmpty()) {
return processIds;
}
for (ProcessDefinition procAssetDesc : availableProcesses) {
if (((ProcessAssetDesc) procAssetDesc).getDeploymentId().equals(deploymentId) && ((ProcessAssetDesc) procAssetDesc).isActive()) {
processIds.add(procAssetDesc.getId());
}
}
return applyPaginition(processIds, queryContext);
}
use of org.jbpm.kie.services.impl.model.ProcessAssetDesc in project jbpm by kiegroup.
the class RuntimeDataServiceImpl method onActivate.
@Override
public void onActivate(DeploymentEvent event) {
Collection<ProcessAssetDesc> outputCollection = new HashSet<ProcessAssetDesc>();
CollectionUtils.select(availableProcesses, new UnsecureByDeploymentIdPredicate(event.getDeploymentId()), outputCollection);
for (ProcessAssetDesc process : outputCollection) {
process.setActive(true);
}
}
use of org.jbpm.kie.services.impl.model.ProcessAssetDesc in project jbpm by kiegroup.
the class CaseRuntimeDataServiceImpl method onDeploy.
/*
* Deploy and undeploy handling
*/
@Override
public void onDeploy(DeploymentEvent event) {
AbstractRuntimeManager runtimeManager = (AbstractRuntimeManager) event.getDeployedUnit().getRuntimeManager();
KieBase kieBase = runtimeManager.getEnvironment().getKieBase();
Collection<Process> processes = kieBase.getProcesses();
Map<String, DeployedAsset> mapProcessById = event.getDeployedUnit().getDeployedAssets().stream().collect(toMap(DeployedAsset::getId, asset -> asset));
for (Process process : processes) {
if (((WorkflowProcess) process).isDynamic()) {
String caseIdPrefix = collectCaseIdPrefix(process);
Collection<CaseMilestone> caseMilestones = collectMilestoness(process);
Collection<CaseStage> caseStages = collectCaseStages(event.getDeploymentId(), process.getId(), ((WorkflowProcess) process));
Collection<CaseRole> caseRoles = collectCaseRoles(process);
Collection<AdHocFragment> adHocFragments = collectAdHocFragments((WorkflowProcess) process);
Map<String, List<String>> dataAccessRestrictions = collectDataAccessRestrictions(process);
CaseDefinitionImpl caseDef = new CaseDefinitionImpl((ProcessAssetDesc) mapProcessById.get(process.getId()), caseIdPrefix, caseStages, caseMilestones, caseRoles, adHocFragments, dataAccessRestrictions);
availableCases.add(caseDef);
caseIdGenerator.register(caseIdPrefix);
}
}
// collect role information
Collection<DeployedAsset> assets = event.getDeployedUnit().getDeployedAssets();
List<String> roles = null;
for (DeployedAsset asset : assets) {
if (asset instanceof ProcessAssetDesc) {
// if it's not dynamic it's considered as not case definition
if (!((ProcessAssetDesc) asset).isDynamic()) {
availableProcesses.add((ProcessAssetDesc) asset);
}
if (roles == null) {
roles = ((ProcessAssetDesc) asset).getRoles();
}
}
}
if (roles == null) {
roles = Collections.emptyList();
}
deploymentRolesManager.addRolesForDeployment(event.getDeploymentId(), roles);
}
use of org.jbpm.kie.services.impl.model.ProcessAssetDesc in project jbpm by kiegroup.
the class ServicesProcessDataEventListener method onProcessAdded.
@Override
public void onProcessAdded(Process process) {
logger.debug("Added process with id {} and name {}", process.getId(), process.getName());
ProcessAssetDesc processDesc = new ProcessAssetDesc(process.getId(), process.getName(), process.getVersion(), process.getPackageName(), process.getType(), process.getKnowledgeType().name(), process.getNamespace(), "", ((WorkflowProcess) process).isDynamic());
processDescriptor.setProcess(processDesc);
// add process descriptor as process meta data
process.getMetaData().put("ProcessDescriptor", processDescriptor);
}
Aggregations