private JcrNodeModel getParentJcrNodeModel(final IModel<Node> nodeModel) { final JcrNodeModel jcrNodeModel = nodeModel instanceof JcrNodeModel ? (JcrNodeModel) nodeModel : new JcrNodeModel(nodeModel.getObject()); return jcrNodeModel.getParentModel(); }
public IDetachable getTarget() { return new JcrNodeModel(path).getParentModel(); }
private String createXpathQuery(JcrNodeModel nodeModel) throws RepositoryException { final Node node = nodeModel.getNode(); // check if translated: StringBuilder statement = new StringBuilder("//element(*, ").append(RelatedDocsNodeType.NT_RELATABLEDOCS).append(')'); statement.append('/' + RelatedDocsNodeType.NT_RELATEDDOCS); statement.append("/*[@hippo:docbase='"); if (node.isNodeType(HippoNodeType.NT_HANDLE)) { statement.append(node.getIdentifier()).append('\''); } else { statement.append(nodeModel.getParentModel().getNode().getIdentifier()).append('\''); } statement.append(" and hippo:availability='preview']"); return statement.toString(); } }
@Override protected Dialog newAddDialog() { JcrNodeModel model = (JcrNodeModel) getModel(); return new AddTemplateDialog(dao, this, model.getParentModel()); }
@Override protected void onSubmit(AjaxRequestTarget target, Form form) { JcrNodeModel model = (JcrNodeModel) folderReference.getModel(); model = model.getParentModel(); if (model != null) { folderReference.setModel(model); } } };
@Override protected Dialog newAddDialog() { JcrNodeModel model = (JcrNodeModel) getModel(); return new AddTemplateDialog(dao, this, model.getParentModel()); }
private TreeModelEvent fromTranslationEvent(final TranslationEvent event) throws RepositoryException { final JcrNodeModel notifiedJcrModel = new JcrNodeModel(event.getJcrEvent().getEvent().getPath()); JcrNodeModel translationNodeModel = notifiedJcrModel.getParentModel(); Node translationNode = translationNodeModel.getNode(); if (translationNode != null && translationNode.isNodeType(HippoNodeType.HIPPO_TRANSLATION)) { TreePath parentPath = lookup(translationNodeModel.getParentModel()); if (parentPath != null) { TreeNode parentNode = (TreeNode) parentPath.getLastPathComponent(); if ((parentNode instanceof IJcrTreeNode) && ((IJcrTreeNode) parentNode).getNodeModel().equals(translationNodeModel.getParentModel())) { return new TreeModelEvent(this, parentPath); } } } return null; }
@Override public void onModelChanged() { super.onModelChanged(); IModel model = getDefaultModel(); if (model instanceof JcrNodeModel) { JcrNodeModel nodeModel = (JcrNodeModel) model; List<String> components = new LinkedList<String>(); while (nodeModel != null) { if (nodeModel.getNode() != null) { try { components.add(nodeModel.getNode().getName()); } catch (RepositoryException e) { log.error("Error building breadcrumb path", e.getMessage()); } } nodeModel = nodeModel.getParentModel(); } Collections.reverse(components); breadcrumb = Strings.join("/", components.toArray(new String[components.size()])); redraw(); } } }
protected void doRemove() { final K bean = getBean(); try { final String name = bean.getModel().getNode().getName(); Node next = bean.getModel().getParentModel().getNode(); for (NodeIterator it = next.getNodes(); it.hasNext();) { Node node = it.nextNode(); if (node.getName().equals(name)) { if (it.hasNext()) { next = it.nextNode(); } break; } else { next = node; } } if (dao.delete(bean)) { setDefaultModel(new JcrNodeModel(next)); info(new StringResourceModel("node.removed", this, null, new Object[] { name }).getString()); } } catch (RepositoryException e) { log.error("Failed to remove node, model = " + bean.getModel()); } }
protected TreeModelEvent newTreeModelEvent(Event event) throws RepositoryException { JcrNodeModel nodeModel = new JcrNodeModel(event.getPath()); if (event.getType() != 0) { TreePath parentPath = lookup(nodeModel.getParentModel()); if (parentPath != null) { TreeNode parentNode = (TreeNode) parentPath.getLastPathComponent(); if ((parentNode instanceof IJcrTreeNode) && ((IJcrTreeNode) parentNode).getNodeModel().equals(nodeModel.getParentModel())) { return new TreeModelEvent(this, parentPath); } } } else { TreePath nodePath = lookup(nodeModel); if (nodePath != null) { TreeNode treeNode = (TreeNode) nodePath.getLastPathComponent(); if ((treeNode instanceof IJcrTreeNode) && ((IJcrTreeNode) treeNode).getNodeModel().equals(nodeModel)) { return new TreeModelEvent(this, nodePath); } } } return null; }
@Override public void onOk() { try { JcrNodeModel nodeModel = (JcrNodeModel) getModel(); JcrNodeModel parentModel = nodeModel.getParentModel(); nodeModel.getNode().remove(); if (immediateSave) { nodeModel.getNode().getSession().save(); } modelReference.setModel(parentModel); } catch (RepositoryException ex) { log.error("Error while deleting document", ex); error("Error while deleting document " + ex.getMessage()); } }
protected void doRemove() { try { final String name = bean.getModel().getNode().getName(); Node next = bean.getModel().getParentModel().getNode(); for (NodeIterator it = next.getNodes(); it.hasNext();) { Node node = it.nextNode(); if (node.getName().equals(name)) { if (it.hasNext()) { next = it.nextNode(); } break; } else { next = node; } } if (dao.delete(bean)) { setDefaultModel(new JcrNodeModel(next)); info(new StringResourceModel("node.removed", this, null, new Object[] { name }).getString()); } } catch (RepositoryException e) { log.error("Failed to remove node, model = " + bean.getModel()); } }
public static JcrNodeModel getParent(IModel<Node> model) { JcrNodeModel parentModel = ((JcrNodeModel) model).getParentModel(); if (parentModel == null) { return new JcrNodeModel((Node) null); } try { // skip facetresult nodes in hierarchy Node parent = parentModel.getNode(); if (parent.isNodeType(HippoNodeType.NT_FACETRESULT)) { return new JcrNodeModel(parent.getParent()); } } catch (RepositoryException ex) { log.error(ex.getMessage()); } return parentModel; }
private JcrNodeModel getParent(JcrNodeModel model) { JcrNodeModel parentModel = model.getParentModel(); if (parentModel == null) { return new JcrNodeModel((Node) null); } try { // skip facetresult nodes in hierarchy Node parent = parentModel.getNode(); if (parent.isNodeType(HippoNodeType.NT_FACETRESULT)) { return new JcrNodeModel(parent.getParent()); } } catch (RepositoryException ex) { log.error(ex.getMessage()); } return parentModel; }
@Override protected void onOk() { try { JcrNodeModel nodeModel = (JcrNodeModel) modelReference.getModel(); if (nodeModel.getParentModel() != null) { JcrNodeModel parentModel = nodeModel.getParentModel(); //The actual JCR move String oldPath = nodeModel.getNode().getPath(); String newPath = parentModel.getNode().getPath(); if (!newPath.endsWith("/")) { newPath += "/"; } newPath += getName(); Session jcrSession = ((UserSession) getSession()).getJcrSession(); jcrSession.move(oldPath, newPath); JcrNodeModel newNodeModel = new JcrNodeModel(parentModel.getNode().getNode(getName())); modelReference.setModel(newNodeModel); } } catch (RepositoryException ex) { error(ex.getMessage()); } }
@Override protected void onCancel() { JcrNodeModel parent = new JcrNodeModel(bean.getModel().getParentModel().getItemModel().getPath()); if (dao.delete(bean)) { update(dao.load(parent)); } }
@Override protected void onCancel() { JcrNodeModel parent = new JcrNodeModel(bean.getModel().getParentModel().getItemModel().getPath()); if (dao.delete(bean)) { update(dao.load(parent)); } }
protected void update(JcrNodeModel model) { replace(getListView(model)); setDefaultModel(model); JcrNodeModel parentModel = model.getParentModel(); if (parentModel == null || roots.contains(model.getItemModel().getPath())) { up.setEnabled(false); } else { up.setEnabled(true); } RequestCycle.get().find(AjaxRequestTarget.class).add(this); }
@Override public void onClick(AjaxRequestTarget target) { IFieldDescriptor field = getFieldHelper().getField(); if (field != null) { String name = field.getPath(); JcrNodeModel parent = model.getParentModel(); if (parent != null) { JcrNodeModel nextModel = new JcrNodeModel(parent.getItemModel().getPath() + "/" + name + "[" + (index + 2) + "]"); onMoveItemUp(nextModel, target); } } } };
private void setReferenceFromPath(final String path) { final JcrNodeModel startModel = new JcrNodeModel(path); JcrNodeModel model = startModel; while (model != null && model.getNode() == null) { model = model.getParentModel(); } if (!startModel.equals(model)) { if (model == null) { model = new JcrNodeModel("/"); } setPathWithAjax(model.getItemModel().getPath(), true); } reference.setModel(model); }