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); }
public void detach() { if (modifiedDocuments != null) { for (JcrNodeModel model : modifiedDocuments) { if (model != null) { model.detach(); } } } } }
@Override public void init(JcrNodeModel model) throws RepositoryException { this.model = new JcrNodeModel(model.getNode()); } }
public IDetachable getTarget() { return new JcrNodeModel(path).getParentModel(); }
public NodeModelWrapper(IModel<Node> nodeModel) { if (!(nodeModel instanceof JcrNodeModel)) { this.nodeModel = new JcrNodeModel(nodeModel.getObject()); } else { this.nodeModel = (JcrNodeModel) nodeModel; } }
public K create(JcrNodeModel model, String name) { try { String newPath = model.getItemModel().getPath() + "/" + name; HippoSession session = (HippoSession)model.getNode().getSession(); Node prototype = session.getRootNode().getNode(prototypePath); Node node = session.copy(prototype, newPath); HstConfigurationUtils.persistChanges(session); return load(new JcrNodeModel(node)); } catch (RepositoryException e) { log.error("Error creating new node", e); } return null; }
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 onCancel() { JcrNodeModel parent = new JcrNodeModel(bean.getModel().getParentModel().getItemModel().getPath()); if (dao.delete(bean)) { update(dao.load(parent)); } }
protected JcrPluginConfig wrapConfig(Node node) { JcrNodeModel nodeModel = new JcrNodeModel(node); if (!childConfigs.containsKey(nodeModel)) { JcrPluginConfig childConfig = new JcrPluginConfig(nodeModel); childConfigs.put(nodeModel, childConfig); } JcrPluginConfig result = childConfigs.get(nodeModel); result.nodeModel.detach(); return result; }
protected Node getNode() throws ItemNotFoundException { Node node = nodeModel.getNode(); if (node == null) { throw new ItemNotFoundException("No node exists at " + nodeModel.getItemModel().getPath()); } return node; }
public JcrNodeModel getBrowseModel() { JcrItemModel itemModel = getNodeModel().getItemModel(); while (itemModel != null && !itemModel.exists()) { itemModel = itemModel.getParentModel(); } if (itemModel == null) { return null; } return new JcrNodeModel(itemModel); }
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 public boolean equals(Object object) { if (!(object instanceof JcrNodeModel)) { return false; } if (this == object) { return true; } final JcrNodeModel nodeModel = (JcrNodeModel) object; return getItemModel().equals(nodeModel.getItemModel()); }
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 boolean equals(Object other) { return other instanceof JcrPluginConfig && ((JcrPluginConfig) other).nodeModel.equals(nodeModel); }
@Override protected Dialog newAddDialog() { JcrNodeModel model = (JcrNodeModel) getModel(); return new AddTemplateDialog(dao, this, model.getParentModel()); }
@Override public void init(JcrNodeModel model) throws RepositoryException { if (!model.getNode().hasNode(HST_CONTENT)) { throw new IllegalArgumentException("Could not find node " + HST_CONTENT); } this.model = new JcrNodeModel(model.getNode().getNode(HST_CONTENT)); } }