public DocumentRoute getRunningWorkflowByName(List<DocumentRoute> routes, String workflowName) { DocumentRoute onlineRoute = null; if (routes != null) { Iterator<DocumentRoute> iterator = routes.iterator(); while (iterator.hasNext() && onlineRoute == null) { DocumentRoute route = iterator.next(); if (workflowName.equals(route.getName())) { onlineRoute = route; } } } return onlineRoute; }
public String getPendingWorkflowName() throws NuxeoException { /* Take the first route in the routes stack */ String name = StringUtils.EMPTY; DocumentRoute relatedRoute = getRelatedRoute(); if (relatedRoute != null) { name = relatedRoute.getName(); } else { if (((ToutaticePublishActionsBean) publishActions).isPending()) { name = "remote_publication_process"; } } return name; }
@Override public void run() { for (DocumentModel documentModel : documentModelList) { final Task task = documentModel.getAdapter(Task.class); if (StringUtils.isNotBlank(worflowModelName)) { final String processId = task.getProcessId(); if (processId != null && session.exists(new IdRef(processId))) { final DocumentRoute routeInstance = session.getDocument(new IdRef(processId)) .getAdapter(DocumentRoute.class); if (routeInstance != null) { final String routeInstanceName = routeInstance.getName(); if (routeInstanceName != null && (routeInstanceName.equals(worflowModelName) || routeInstanceName.matches("^(" + worflowModelName + ")\\.\\d+"))) { result.add(task); } } } } else { result.add(task); } } } }.runUnrestricted();
/** * @since 7.2 */ @Override public List<DocumentRoute> getRunningWorkflowInstancesLaunchedByCurrentUser(CoreSession session, String worflowModelName) { final String query = String.format( "SELECT * FROM %s WHERE docri:initiator = '%s' AND ecm:currentLifeCycleState = '%s'", DocumentRoutingConstants.DOCUMENT_ROUTE_DOCUMENT_TYPE, session.getPrincipal().getName(), DocumentRouteElement.ElementLifeCycleState.running); DocumentModelList documentModelList = session.query(query); List<DocumentRoute> result = new ArrayList<>(); for (DocumentModel documentModel : documentModelList) { final GraphRoute graphRoute = documentModel.getAdapter(GraphRoute.class); if (StringUtils.isNotBlank(worflowModelName)) { final String modelId = graphRoute.getModelId(); if (StringUtils.isNotBlank(modelId)) { DocumentRoute model = session.getDocument(new IdRef(modelId)).getAdapter(DocumentRoute.class); if (worflowModelName.equals(model.getName())) { result.add(graphRoute); } } } else { result.add(graphRoute); } } return result; }
@Override protected void writeEntityBody(DocumentRoute item, JsonGenerator jg) throws IOException { jg.writeStringField("id", item.getDocument().getId()); jg.writeStringField("name", item.getName()); jg.writeStringField("title", item.getTitle()); jg.writeStringField("state", item.getDocument().getCurrentLifeCycleState());