private void fireSequencingEvent( AbstractJcrNode sequencedNode, List<AbstractJcrNode> outputNodes, JcrSession outputSession, String sequencerName) throws RepositoryException { RecordingChanges sequencingChanges = new RecordingChanges( outputSession.context().getProcessId(), outputSession.getRepository().repositoryKey(), outputSession.workspaceName()); for (AbstractJcrNode outputNode : outputNodes) { sequencingChanges.nodeSequenced( sequencedNode.key(), sequencedNode.path(), outputNode.key(), outputNode.path(), work.getOutputPath(), work.getUserId(), work.getSelectedPath(), sequencerName); } repository.changeBus().notify(sequencingChanges); }
private void setCreatedByIfNecessary(JcrSession outputSession, List<AbstractJcrNode> outputNodes) throws RepositoryException { // if the mix:created mixin is on any of the new nodes, we need to set the createdBy here, // otherwise it will be // set by the system session when it saves and it will default to "modeshape-worker" for (AbstractJcrNode node : outputNodes) { if (node.isNodeType(JcrMixLexicon.CREATED)) { node.setProperty( JcrLexicon.CREATED_BY, outputSession.getValueFactory().createValue(work.getUserId()), true, true); } } }
private void fireSequencingFailureEvent( AbstractJcrNode sequencedNode, JcrSession inputSession, Throwable cause, String sequencerName) throws RepositoryException { assert sequencedNode != null; assert inputSession != null; RecordingChanges sequencingChanges = new RecordingChanges( inputSession.context().getProcessId(), inputSession.getRepository().repositoryKey(), inputSession.workspaceName()); sequencingChanges.nodeSequencingFailure( sequencedNode.key(), sequencedNode.path(), work.getOutputPath(), work.getUserId(), work.getSelectedPath(), sequencerName, cause); repository.changeBus().notify(sequencingChanges); }