private String getDestinationPath() { try { return destination.getChainedModel().getObject().getPath(); } catch (RepositoryException e) { log.error("Failed to get path of the destination node", e); return ""; } }
/** * Creates a new node name, based on the given nodeName. It will add a suffix (-1) at the end of the base * name (node name without the extension) of the node name. If this new name already exists, it will * increment the suffix (-2, -3,...) until a unique name has been found. * * @param nodeName The node name * @throws RepositoryException Thrown when it cannot retrieve the node from the repository */ private void createNewFileNodeNameWithBaseNameSuffix(final String nodeName) throws RepositoryException { name = nodeName; Node gallery = destination.getChainedModel().getObject(); if (gallery.hasNode(name)) { name = addOrIncrementFileNodeNameBaseNameSuffix(name); createNewFileNodeNameWithBaseNameSuffix(name); } }
@Override protected void onServiceAdded(IModelReference service, String name) { super.onServiceAdded(service, name); if (modelRef == null) { modelRef = service; modelRef.setModel(destination.getChainedModel()); context.registerService(modelObserver = new IObserver<IModelReference>() { public IModelReference getObservable() { return modelRef; } public void onEvent(Iterator<? extends IEvent<IModelReference>> events) { IModel model = modelRef.getModel(); if (model != null && model instanceof JcrNodeModel && ((JcrNodeModel) model).getNode() != null) { destination.setChainedModel(model); } DestinationDialog.this.setOkEnabled(isOkEnabled()); } }, IObserver.class.getName()); } }
@Override protected String execute(Workflow wf) throws Exception { Node document = getModel().getNode(); Node folder = destination != null ? destination.getChainedModel().getObject() : new JcrNodeModel("/").getNode(); String nodeName = document.getName(); DocumentWorkflow workflow = (DocumentWorkflow) wf; workflow.move(new Document(folder), nodeName); browseTo(new JcrNodeModel(folder.getPath() + "/" + nodeName)); return null; } });
@Override protected String execute(Workflow wf) throws Exception { final Node src = getModel().getNode(); final Node dest = destination != null ? destination.getChainedModel().getObject() : UserSession.get().getJcrSession().getRootNode(); final String srcLocale = CodecUtils.getLocaleFromNodeAndAncestors(src); final String destLocale = CodecUtils.getLocaleFromNodeAndAncestors(dest); StringCodec codec = null; if (srcLocale == null) { if (destLocale != null) { codec = CodecUtils.getNodeNameCodec(getPluginContext(), destLocale); } } else if (!srcLocale.equals(destLocale)) { codec = CodecUtils.getNodeNameCodec(getPluginContext(), destLocale); } String nodeName; if (codec != null) { // we are moving between locales so re-encode the display name nodeName = codec.encode(getDisplayName().getObject()); } else { // use original node name nodeName = src.getName(); } DefaultWorkflow workflow = (DefaultWorkflow) wf; workflow.move(new Document(dest), nodeName); return null; }
@Override protected String execute(Workflow wf) throws Exception { final Node folder = destination != null ? destination.getChainedModel().getObject() : UserSession.get().getJcrSession().getRootNode(); final String locale = CodecUtils.getLocaleFromDocumentOrFolder(getModel().getNode(), folder); final StringCodec codec = CodecUtils.getNodeNameCodec(getPluginContext(), locale); String nodeName = codec.encode(name); DefaultWorkflow workflow = (DefaultWorkflow) wf; workflow.copy(new Document(folder), nodeName); JcrNodeModel copyModel = new JcrNodeModel(folder.getPath() + "/" + nodeName); HippoNode node = (HippoNode) copyModel.getNode().getNode(nodeName); String localName = getLocalizeCodec().encode(name); if (!getDisplayName().getObject().equals(localName)) { WorkflowManager manager = UserSession.get().getWorkflowManager(); DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", node); defaultWorkflow.setDisplayName(localName); } browseTo(copyModel); return null; } });
@Override protected String execute(Workflow wf) throws Exception { Node folder = destination != null ? destination.getChainedModel().getObject() : new JcrNodeModel("/").getNode(); Node document = getModel().getNode(); String nodeName = getNodeNameCodec(document, folder).encode(name); DocumentWorkflow workflow = (DocumentWorkflow) wf; workflow.copy(new Document(folder), nodeName); JcrNodeModel resultModel = new JcrNodeModel(folder.getPath() + "/" + nodeName); Node result = resultModel.getNode(); WorkflowManager manager = UserSession.get().getWorkflowManager(); DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", result.getNode(nodeName)); defaultWorkflow.setDisplayName(getLocalizeCodec().encode(name)); browseTo(resultModel); return null; }
CopyNameHelper copyNameHelper = new CopyNameHelper(codec, copyof); name = copyNameHelper.getCopyName(nodeName, destination.getChainedModel().getObject());
final Node destinationNode = destination.getChainedModel().getObject(); name = copyNameHelper.getCopyName(getModelNode().getDisplayName(), destinationNode); } catch (RepositoryException ex) {