@Override public void detach() { entries = null; super.detach(); }
private String getDestinationPath() { try { return destination.getChainedModel().getObject().getPath(); } catch (RepositoryException e) { log.error("Failed to get path of the destination node", e); return ""; } }
@Override protected String execute(Workflow wf) throws Exception { JcrNodeModel folderModel = new JcrNodeModel("/"); if (destination != null) { folderModel = destination.getNodeModel(); } String nodeName = (((WorkflowDescriptorModel) getDefaultModel()).getNode()).getName(); FullReviewedActionsWorkflow workflow = (FullReviewedActionsWorkflow) wf; workflow.move(new Document(folderModel.getNode().getUUID()), nodeName); browseTo(new JcrNodeModel(folderModel.getItemModel().getPath() + "/" + nodeName)); return null; } });
@Override protected String execute(Workflow wf) throws Exception { JcrNodeModel folderModel = new JcrNodeModel("/"); if (destination != null) { folderModel = destination.getNodeModel(); } StringCodec codec = getNodeNameCodec(); String nodeName = codec.encode(name); FullReviewedActionsWorkflow workflow = (FullReviewedActionsWorkflow) wf; workflow.copy(new Document(folderModel.getNode().getUUID()), nodeName); JcrNodeModel resultModel = new JcrNodeModel(folderModel.getItemModel().getPath() + "/" + nodeName); Node result = resultModel.getNode(); WorkflowManager manager = ((UserSession) Session.get()).getWorkflowManager(); DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", result.getNode(nodeName)); defaultWorkflow.localizeName(getLocalizeCodec().encode(name)); browseTo(resultModel); return null; } });
/** * 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 public void detach() { entries = null; super.detach(); }
@Override protected Dialog createRequestDialog() { destination = new NodeModelWrapper(getFolder()) { }; CopyNameHelper copyNameHelper = new CopyNameHelper(getNodeNameCodec(), new StringResourceModel( "copyof", FullReviewedActionsWorkflowPlugin.this, null).getString()); try { name = copyNameHelper.getCopyName(((HippoNode) ((WorkflowDescriptorModel) getDefaultModel()) .getNode()).getLocalizedName(), destination.getNodeModel().getNode()); } catch (RepositoryException ex) { return new ExceptionDialog(ex); } Dialog dialog = new WorkflowAction.DestinationDialog( new StringResourceModel("copy-title", FullReviewedActionsWorkflowPlugin.this, null), new StringResourceModel("copy-name", FullReviewedActionsWorkflowPlugin.this, null), new PropertyModel(this, "name"), destination) { { setOkEnabled(true); } }; return dialog; }
@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 public void detach() { entries = null; super.detach(); }
@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 public void detach() { attached = false; resultSet = null; if (listener != null) { listener.detach(); } super.detach(); }
@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 public void detach() { if ((flags & DETACHING) == 0) { flags = flags | DETACHING; reloadChildren = true; reloadChildCount = true; if (children != null) { for (TreeNode child : children) { if (child instanceof IDetachable) { ((IDetachable) child).detach(); } } children = null; } if (parent != null) { parent.detach(); } super.detach(); flags = flags & (0xFFFFFFFF ^ DETACHING); } }
@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) {