@Override protected Dialog createRequestDialog() { try { final HippoNode node = getModelNode(); uriName = node.getName(); targetName = getLocalizedNameForSession(node); localizedNames = node.getLocalizedNames(); } catch (RepositoryException ex) { uriName = targetName = ""; localizedNames = Collections.emptyMap(); } return new RenameDocumentDialog(this, new StringResourceModel("rename-title", FullReviewedActionsWorkflowPlugin.this, null)); }
@Override protected String execute(Workflow wf) throws Exception { final String targetName = renameDocumentArguments.getTargetName(); final String uriName = renameDocumentArguments.getUriName(); if (Strings.isEmpty(targetName)) { throw new WorkflowException("No name for destination given"); } HippoNode node = (HippoNode) getModel().getNode(); String nodeName = getNodeNameCodec(node).encode(uriName); String localName = getLocalizeCodec().encode(targetName); if ("".equals(nodeName)) { throw new IllegalArgumentException("You need to enter a name"); } WorkflowManager manager = obtainUserSession().getWorkflowManager(); DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", node); if (!node.getName().equals(nodeName)) { ((DefaultWorkflow) wf).rename(nodeName); } if (!getDisplayName().getObject().equals(localName)) { defaultWorkflow.setDisplayName(localName); } return null; } });
@Override protected IDialogService.Dialog createRequestDialog() { String locale = null; try { final HippoNode node = getModelNode(); locale = CodecUtils.getLocaleFromNodeAndAncestors(node); renameDocumentArguments = new RenameDocumentArguments( node.getDisplayName(), node.getName() ); } catch (RepositoryException ex) { renameDocumentArguments = new RenameDocumentArguments(); } return new RenameDocumentDialog(renameDocumentArguments, new StringResourceModel("rename-title", DocumentWorkflowPlugin.this, null), this, CodecUtils.getNodeNameCodecModel(context, locale), this.getModel()); }