private static WorkflowManager getWorkflowManager(final Session session) throws RepositoryException { final HippoWorkspace workspace = (HippoWorkspace) session.getWorkspace(); return workspace.getWorkflowManager(); }
private WorkflowManager getWorkflowManager() throws RepositoryException { return ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); } }
private static WorkflowManager getWorkflowManager(final Session session) throws RepositoryException { return ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); }
protected final WorkflowManager getWorkflowManager(Session session) throws RepositoryException { return ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); }
@Override protected WorkflowManager load() { Session jcrSession = getJcrSessionInternal(); if (jcrSession != null) { try { HippoWorkspace workspace = (HippoWorkspace)jcrSession.getWorkspace(); return workspace.getWorkflowManager(); } catch (RepositoryException ex) { ex.printStackTrace(); } } return null; }
protected Workflow getWorkflow(Node node, String category) throws RepositoryException { HippoWorkspace wsp = (HippoWorkspace) node.getSession().getWorkspace(); WorkflowManager workflowMgr = wsp.getWorkflowManager(); Node canonicalNode = ((HippoNode) node).getCanonicalNode(); return workflowMgr.getWorkflow(category, canonicalNode); }
public Workflow getWorkflow(String category, Document document) throws RepositoryException { Workspace workspace = session.getWorkspace(); ClassLoader workspaceClassloader = workspace.getClass().getClassLoader(); ClassLoader currentClassloader = Thread.currentThread().getContextClassLoader(); try { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(workspaceClassloader); } WorkflowManager wfm = ((HippoWorkspace) workspace).getWorkflowManager(); return wfm.getWorkflow(category, document); } catch (RepositoryException e) { throw e; } catch (Exception ignore) { // Just ignore other exceptions which are not handled properly in the repository such as NPE. } finally { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(currentClassloader); } } return null; }
public Workflow getWorkflow(String category, Node node) throws RepositoryException { Workspace workspace = session.getWorkspace(); ClassLoader workspaceClassloader = workspace.getClass().getClassLoader(); ClassLoader currentClassloader = Thread.currentThread().getContextClassLoader(); try { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(workspaceClassloader); } WorkflowManager wfm = ((HippoWorkspace) workspace).getWorkflowManager(); return wfm.getWorkflow(category, node); } catch (RepositoryException e) { throw e; } catch (Exception ignore) { // Just ignore other exceptions which are not handled properly in the repository such as NPE. } finally { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(currentClassloader); } } return null; }
public Workflow getWorkflow(String category, Document document) throws RepositoryException { Workspace workspace = session.getWorkspace(); ClassLoader workspaceClassloader = workspace.getClass().getClassLoader(); ClassLoader currentClassloader = Thread.currentThread().getContextClassLoader(); try { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(workspaceClassloader); } WorkflowManager wfm = ((HippoWorkspace) workspace).getWorkflowManager(); return wfm.getWorkflow(category, document); } catch (RepositoryException e) { throw e; } catch (Exception e) { // other exception which are not handled properly in the repository (we cannot do better here then just log them) if(log.isDebugEnabled()) { log.warn("Exception in workflow", e); } else { log.warn("Exception in workflow: {}", e.toString()); } return null; } finally { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(currentClassloader); } } }
public Workflow getWorkflow(String category, Node node) throws RepositoryException { Workspace workspace = node.getSession().getWorkspace(); ClassLoader workspaceClassloader = workspace.getClass().getClassLoader(); ClassLoader currentClassloader = Thread.currentThread().getContextClassLoader(); try { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(workspaceClassloader); } WorkflowManager wfm = ((HippoWorkspace) workspace).getWorkflowManager(); return wfm.getWorkflow(category, node); } catch (RepositoryException e) { throw e; } catch (Exception e) { // Other exception which are not handled properly in the repository (we cannot do better here then just log them) if (log.isDebugEnabled()) { log.warn("Exception in workflow", e); } else { log.warn("Exception in workflow: {}", e.toString()); } } finally { if (workspaceClassloader != currentClassloader) { Thread.currentThread().setContextClassLoader(currentClassloader); } } return null; }
WorkflowManager wfm = ((HippoWorkspace) workspace).getWorkflowManager(); return wfm.getWorkflow(category, node); } catch (RepositoryException e) {
VersionWorkflow getWorkflow() { try { Node document = getNode(); WorkflowManager workflowManager = ((HippoWorkspace) getNode().getSession().getWorkspace()) .getWorkflowManager(); return (VersionWorkflow) workflowManager.getWorkflow("versioning", document); } catch (RepositoryException ex) { log.error(ex.getMessage(), ex); } return null; }
public RemoteWorkflowManager getWorkflowManager() throws RemoteException, RepositoryException { try { WorkflowManager workflowManager = workspace.getWorkflowManager(); return ((RemoteServicingAdapterFactory) getFactory()).getRemoteWorkflowManager(workflowManager); } catch (RepositoryException ex) { throw getRepositoryException(ex); } }
public WorkflowDialog(WorkflowPlugin plugin) { this.plugin = plugin; final JcrNodeModel nodeModel = (JcrNodeModel) plugin.getDefaultModel(); final MultiLineLabel dump = new MultiLineLabel("dump", ""); dump.setOutputMarkupId(true); add(dump); try { Node subject = nodeModel.getNode(); ByteArrayOutputStream ostream = new ByteArrayOutputStream(); PrintWriter out = new PrintWriter(ostream); Session session = subject.getSession(); WorkflowManager workflowManager = ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); Node categories = session.getRootNode().getNode("hippo:configuration/hippo:workflows"); for (NodeIterator iter = categories.getNodes(); iter.hasNext();) { Node category = iter.nextNode(); WorkflowDescriptor descriptor = workflowManager.getWorkflowDescriptor(category.getName(), subject); out.println("Category " + category.getName() + ": " + (descriptor != null ? descriptor.getDisplayName() : "none")); } out.flush(); dump.setDefaultModel(new Model<String>(new String(ostream.toByteArray()))); } catch(RepositoryException ex) { dump.setDefaultModel(new Model<String>(ex.getClass().getName()+": "+ex.getMessage())); } setOkVisible(false); setFocusOnOk(); }
private EditableWorkflow getEditableWorkflow() throws RepositoryException { final Node handleNode = getModel().getObject(); if (handleNode == null) { throw new RepositoryException("No handle node available"); } final HippoSession session = (HippoSession) handleNode.getSession(); final WorkflowManager manager = ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); final Workflow workflow = manager.getWorkflow("editing", handleNode); if (!(workflow instanceof EditableWorkflow)) { throw new RepositoryException("Editing workflow not of type EditableWorkflow"); } return (EditableWorkflow) workflow; }
public <T extends Workflow> T getWorkflow() { if (workflow != null) { return (T) workflow; } WorkflowDescriptor descriptor = getObject(); if (descriptor == null) { return null; } try { Session session = UserSession.get().getJcrSession(); WorkflowManager workflowManager = ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); workflow = workflowManager.getWorkflow(descriptor); return (T) workflow; } catch (RepositoryException e) { return null; } }
private void loadPublishableDocuments(final Node folder, final Set<String> documents) throws RepositoryException, WorkflowException, RemoteException { for (Node child : new NodeIterable(folder.getNodes())) { if (child.isNodeType(NT_FOLDER) || child.isNodeType(NT_DIRECTORY)) { loadPublishableDocuments(child, documents); } else if (child.isNodeType(NT_HANDLE)) { WorkflowManager workflowManager = ((HippoWorkspace) folder.getSession().getWorkspace()).getWorkflowManager(); Workflow workflow = workflowManager.getWorkflow(WORKFLOW_CATEGORY, child); if (workflow != null) { Serializable hint = workflow.hints().get(workflowAction); if (hint instanceof Boolean && (Boolean) hint) { documents.add(child.getIdentifier()); } } } } }
private void bulkExecuteDocumentWorkflow(final String action) throws RepositoryException { Session session = UserSession.get().getJcrSession(); WorkflowManager wfMgr = ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); for (String uuid : documents) { try { Node handle = session.getNodeByIdentifier(uuid); if (handle.isNodeType(NT_HANDLE)) { Workflow workflow = wfMgr.getWorkflow(WORKFLOW_CATEGORY, handle); if (workflow instanceof DocumentWorkflow) { DocumentWorkflow docWorkflow = (DocumentWorkflow) workflow; switch (action) { case "publish": docWorkflow.publish(); break; case "depublish" : docWorkflow.depublish(); break; } ++processed; log.info("executed action {} on document {} ({})", action, handle.getPath(), uuid); } } } catch (RepositoryException | RemoteException | WorkflowException e) { log.warn("Execution of action {} on {} failed: {}", action, uuid, e); } session.refresh(true); } }
private boolean saveFolder(FolderTranslation ft, javax.jcr.Session session) { if (!ft.isEditable()) { throw new UnsupportedOperationException("Translation is immutable"); } String id = ft.getId(); try { Node node = session.getNodeByIdentifier(id); WorkflowManager manager = ((HippoWorkspace) node.getSession().getWorkspace()).getWorkflowManager(); TranslationWorkflow tw = (TranslationWorkflow) manager.getWorkflow("translation", node); String namefr = ft.getNamefr(); String urlfr = ft.getUrlfr(); Document translationDoc = tw.addTranslation(language, urlfr); if (namefr != null && !urlfr.equals(namefr)) { DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", translationDoc); defaultWorkflow.setDisplayName(namefr); } return true; } catch (RepositoryException e) { log.error("Could not persist folder translation for " + id + " due to " + e.getMessage()); } catch (RemoteException e) { log.error( "Could not contact repository when storing folder translation for " + id + " due to " + e.getMessage()); } catch (WorkflowException e) { log.error("Workflow prevented storing translation for " + id + " due to " + e.getMessage()); } return false; }
protected WorkflowDescriptor load() { try { Session session = UserSession.get().getJcrSession(); WorkflowManager workflowManager = ((HippoWorkspace) session.getWorkspace()).getWorkflowManager(); Node node = getNode(session); if (node.isNodeType(JcrConstants.NT_FROZEN_NODE)) { Version version = (Version) node.getParent(); String docId = version.getContainingHistory().getVersionableIdentifier(); Node docNode = version.getSession().getNodeByIdentifier(docId); if (docNode.getParent().isNodeType(HippoNodeType.NT_HANDLE)) { Node handle = docNode.getParent(); return workflowManager.getWorkflowDescriptor(category, handle); } else { return workflowManager.getWorkflowDescriptor(category, docNode); } } else { return workflowManager.getWorkflowDescriptor(category, node); } } catch (RepositoryException ex) { return null; } }