private String encode(final String text) { if (text == null) { return null; } return codecModel.getObject().encode(text); }
protected String getListFolderPath() { if (list == null) { return null; } final String listEncoded = getNodeNameCodec().encode(list); return baseFolder + listEncoded; }
name = base + " (" + copyOf + " " + (number) + ")"; nodeName = codecModel.getObject().encode(name); number++; } while (folder.hasNode(nodeName));
private void addTaxonomyNode(final Session session, final Node taxonomiesNode, final String taxonomyName, final String[] locales) throws RepositoryException { final Node handleNode = taxonomiesNode.addNode(codec.encode(taxonomyName), HippoNodeType.NT_HANDLE); final Node taxonomyNode = handleNode.addNode(codec.encode(taxonomyName), HIPPOTAXONOMY_TAXONOMY); taxonomyNode.addMixin(JcrConstants.MIX_VERSIONABLE); taxonomyNode.addMixin(JcrConstants.MIX_REFERENCEABLE); taxonomyNode.addMixin(HippoStdNodeType.NT_PUBLISHABLESUMMARY); taxonomyNode.setProperty(HippoStdPubWfNodeType.HIPPOSTDPUBWF_CREATION_DATE, Calendar.getInstance()); taxonomyNode.setProperty(HippoStdPubWfNodeType.HIPPOSTDPUBWF_LAST_MODIFIED_DATE, Calendar.getInstance()); taxonomyNode.setProperty(HippoStdPubWfNodeType.HIPPOSTDPUBWF_PUBLICATION_DATE, Calendar.getInstance()); taxonomyNode.setProperty(HippoStdPubWfNodeType.HIPPOSTDPUBWF_LAST_MODIFIED_BY, session.getUserID()); taxonomyNode.setProperty(HippoStdPubWfNodeType.HIPPOSTDPUBWF_CREATED_BY, session.getUserID()); taxonomyNode.setProperty(HippoStdNodeType.HIPPOSTD_STATE, HippoStdNodeType.PUBLISHED); taxonomyNode.setProperty(HippoStdNodeType.HIPPOSTD_HOLDER, session.getUserID()); taxonomyNode.setProperty(HippoStdNodeType.HIPPOSTD_STATESUMMARY, "live"); taxonomyNode.setProperty("hippo:availability", new String[]{"live","preview"}); taxonomyNode.setProperty(HIPPOTAXONOMY_LOCALES, locales); session.save(); }
private static String encode(final String name, final Encoding encoding, final String locale) { if (name == null) { return null; } final StringCodecService service = HippoServiceRegistry.getService(StringCodecService.class); final StringCodec codec = service.getStringCodec(encoding, locale); return codec.encode(name); }
/** * Creates a slug for a piece of content (a document, a folder, etc) in a certain locale. * * @param name the name of the piece of content * @param locale the locale of the content * @return */ public static String createSlug(final String name, final String locale) { final StringCodecService service = HippoServiceRegistry.getService(StringCodecService.class); final StringCodec codec = service.getStringCodec(StringCodecService.Encoding.NODE_NAME, locale); return codec.encode(name); } }
try { if (name != null) { response.put("data", codec.getObject().encode(name.toString())); response.put("success", true); } else {
@Override protected void onUpdate(AjaxRequestTarget target) { if (!uriModified) { uriModel.setObject(getNodeNameCodec().encode(nameModel.getObject())); target.addComponent(uriComponent); } } }.setThrottleDelay(Duration.milliseconds(500)));
@Override protected String execute(Workflow wf) throws Exception { if (targetName == null || targetName.trim().equals("")) { throw new WorkflowException("No name for destination given"); } final HippoNode node = getModelNode(); String nodeName = getNodeNameCodec().encode(uriName); String localName = getLocalizeCodec().encode(targetName); if ("".equals(nodeName)) { throw new IllegalArgumentException("You need to enter a name"); } WorkflowManager manager = ((UserSession) Session.get()).getWorkflowManager(); DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", node); if (!((WorkflowDescriptorModel) getDefaultModel()).getNode().getName().equals(nodeName)) { ((FullReviewedActionsWorkflow) wf).rename(nodeName); } if (!getLocalizedNameForSession(node).equals(localName)) { defaultWorkflow.replaceAllLocalizedNames(localName); } return null; } });
/** * Get or create folder for classificationType.LIST. * * @param parent parent folder in which the list-based folder is to be found/created. * @param list list-based name of the folder * @param create flag indicating whether the folder should be created if it doesn't exist * @return node representing the list-based folder * @throws java.rmi.RemoteException for unexpected errors * @throws javax.jcr.RepositoryException for unexpected errors * @throws org.hippoecm.repository.api.WorkflowException for unexpected errors * * @deprecated use the getFolderPath and getFolder methods instead. */ @Deprecated protected HippoNode getListFolder(HippoNode parent, String list, boolean create) throws RemoteException, RepositoryException, WorkflowException { String listEncoded = getNodeNameCodec().encode(list); HippoNode resultParent = parent; if (resultParent.hasNode(listEncoded)) { resultParent = (HippoNode) resultParent.getNode(listEncoded); } else { if (create) { resultParent = createFolder(resultParent, listEncoded); } else { return null; } } return resultParent; }
String nodeName = uriEncoding.encode(name); String added = fwf.add(category, nodeTypeName, nodeName); if (added == 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 { 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; } });
String folderNodeName = uriEncoding.encode(folderName);
@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 { 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; }
@Override public void onClick(AjaxRequestTarget target) { uriModified = !uriModified; if (!uriModified) { uriModel.setObject(Strings.isEmpty(nameModel.getObject()) ? "" : getNodeNameCodec().encode( nameModel.getObject())); } else { target.focusComponent(uriComponent); } target.addComponent(RenameDocumentDialog.this); } };
final FolderWorkflow fw = (FolderWorkflow) workflow; final String encodedDocumentName = getNodeNameCodec().encode(documentName);
@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 given for document node"); } if (Strings.isEmpty(uriName)) { throw new WorkflowException("No URL name given for document node"); } final HippoNode node = getModelNode(); String nodeName = getNodeNameCodec(node).encode(uriName); String localName = getLocalizeCodec().encode(targetName); if (Strings.isEmpty(nodeName)) { throw new IllegalArgumentException("You need to enter a name"); } WorkflowManager manager = UserSession.get().getWorkflowManager(); DefaultWorkflow defaultWorkflow = (DefaultWorkflow) manager.getWorkflow("core", node); if (!((WorkflowDescriptorModel) getDefaultModel()).getNode().getName().equals(nodeName)) { ((DocumentWorkflow) wf).rename(nodeName); } if (!node.getDisplayName().equals(localName)) { defaultWorkflow.setDisplayName(localName); } return null; } });