protected IModel<Node> getSelectedModel() { if (documentReference != null) { return documentReference.getModel(); } return null; }
protected void setSelectedModel(IModel<Node> model) { if (documentReference != null) { documentReference.setModel(model); } }
@Override public MarkupContainer setDefaultModel(IModel<?> model) { if (modelReference != null) { modelReference.setModel(model); } else { updateModel(model); } return this; }
/** * Helper method to retrieve the current folder model * * @return The folder model */ public IModel<Node> getFolderModel() { if (folderModelReference != null) { return folderModelReference.getModel(); } return null; }
/** * Try to determine which model should be used as initial selection. First, retrieve the model that represents the * actual selected node and see if it is valid. If so, select it and return, if not, see if a last visited model * is set and if so select it and return. If not, see if a default model is set, if so, select it and return. If * not, fallback to the model currently in the selectionModelReference. * * TODO: We should try and see if the last-visited model is visible in the browser, if not, go on to default model **/ public void initSelection() { final IModel<Node> initialModel = getInitialModel(); if (isValidSelection(initialModel)) { selectionModelReference.setModel(initialModel); return; } if (settings.isLastVisitedEnabled() && lastModelVisited != null) { selectionModelReference.setModel(lastModelVisited); return; } final IModel<Node> defaultModel = getBaseModel(); if (defaultModel != null) { selectionModelReference.setModel(defaultModel); return; } setSelectedModel(selectionModelReference.getModel()); }
void setModel(JcrNodeModel nodeModel) { if (modelReference == null) { return; } if (!active) { active = true; try { modelReference.setModel(getBrowserModel(nodeModel)); } catch (RepositoryException e) { log.error("Failed to select document", e); } finally { active = false; } } }
public DownloadExportLink(String id, IModelReference modelReference, IModel skipBinaryModel) { super(id, modelReference.getModel()); this.modelReference = modelReference; this.skipBinaryModel = skipBinaryModel; }
public void delete() { IClusterConfig clusterConfig = getTemplate(); List<IPluginConfig> plugins = new LinkedList<IPluginConfig>(clusterConfig.getPlugins()); final String pluginId = getPluginId(); for (IPluginConfig config : plugins) { if (config.getName().equals(pluginId)) { IModelReference pluginRef = context .getService(config.getString(SELECTED_PLUGIN), IModelReference.class); if (pluginRef != null && pluginRef.getModel() != null && pluginId.equals(pluginRef.getModel().getObject())) { pluginRef.setModel(null); } plugins.remove(config); break; } } clusterConfig.setPlugins(plugins); }
public void setSelectedFolder(final IModel<Node> model) { selectionModelReference.setModel(model); setSelectedModel(model); onFolderSelected(model); }
public void onEvent(final Iterator events) { setSelectedModel(selectionModelReference.getModel()); }
@Override public void onOk() { try { final IModel<Node> nodeModel = modelReference.getModel(); final Node node = nodeModel.getObject(); final int propertyType = PropertyType.valueFromName(type); if (isMultiple) { node.setProperty(name, getJcrValues(propertyType), propertyType); } else { node.setProperty(name, getJcrValue(propertyType), propertyType); } modelReference.setModel(new JcrNodeModel(node)); } catch (ConstraintViolationException e) { error("It is not allowed to add the property '" + name + "' on this node."); log.info(e.getClass().getName() + " : " + e.getMessage()); } catch (ValueFormatException e) { error(e.toString()); log.info(e.getClass().getName() + " : " + e.getMessage()); } catch (RepositoryException e) { error(e.toString()); log.error(e.getClass().getName() + " : " + e.getMessage(), e); } }
@Override public void onClick(AjaxRequestTarget target) { String export; try { SAXTransformerFactory stf = (SAXTransformerFactory) SAXTransformerFactory.newInstance(); TransformerHandler handler = stf.newTransformerHandler(); StringWriter exportWriter = new StringWriter(); Transformer transformer = handler.getTransformer(); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", Integer.toString(2)); handler.setResult(new StreamResult(exportWriter)); Node node = nodeModel.getObject(); ((HippoSession) node.getSession()).exportDereferencedView(node.getPath(), handler, skipBinary, false); export = exportWriter.getBuffer().toString(); JcrNodeModel newNodeModel = new JcrNodeModel(node); modelReference.setModel(newNodeModel); } catch (Exception e) { export = e.getMessage(); } dump.setDefaultModel(new Model<>(export)); target.add(dump); } };
public void onEvent(Iterator events) { setSelectedModel(documentModel.getModel()); }
@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 public void onOk() { try { final IModel<Node> nodeModel = getModel(); final Node node = nodeModel.getObject().addNode(name, type); modelReference.setModel(new JcrNodeModel(node)); } catch (RepositoryException ex) { error(ex.toString()); } }
public void onEvent(Iterator events) { setSelectedModel(folderModel.getModel()); }
@Override public void onClick(AjaxRequestTarget target) { String export; try { Node node = nodeModel.getNode(); ByteArrayOutputStream out = new ByteArrayOutputStream(); ((HippoSession) node.getSession()).exportDereferencedView(node.getPath(), out, skipBinary, false); export = prettyPrint(out.toByteArray()); JcrNodeModel newNodeModel = new JcrNodeModel(node); modelReference.setModel(newNodeModel); } catch (Exception e) { export = e.getMessage(); } dump.setDefaultModel(new Model<String>(export)); target.addComponent(dump); } };
public void onEvent(Iterator events) { setSelectedModel(folderModel.getModel()); }