public void deActivateNode(String path) throws ExchangeException, RepositoryException { // do not deactivate node datas if (this.getTree().getHierarchyManager().isNodeData(path)) { return; } Syndicator syndicator = getDeactivationSyndicator(path); syndicator.deActivate(path); }
/** * Create the <code>Syndicator</code> to deactivate the specified path. * * @param path node path to be deactivated * @return the <code>Syndicator</code> used to deactivate */ protected Syndicator getDeactivationSyndicator(String path) { Rule rule = new Rule(); Syndicator syndicator = (Syndicator) FactoryUtil.getInstance(Syndicator.class); syndicator.init( MgnlContext.getUser(), this.getRepository(), ContentRepository.getDefaultWorkspace(this.getRepository()), rule); return syndicator; }
/** * @param path * @param recursive */ public void activateNode(String path, boolean recursive) throws ExchangeException, RepositoryException { String parentPath = StringUtils.substringBeforeLast(path, "/"); if (StringUtils.isEmpty(parentPath)) { parentPath = "/"; } Syndicator syndicator = getActivationSyndicator(path); if (recursive) { activateNodeRecursive(syndicator, parentPath, path); } else { syndicator.activate(parentPath, path); } }
/** * recursive activation Override this method to provide tree specific node recursion * * @param syndicator * @param parentPath * @param path */ public void activateNodeRecursive(Syndicator syndicator, String parentPath, String path) throws ExchangeException, RepositoryException { syndicator.activate(parentPath, path); Iterator children = this.getTree().getHierarchyManager().getContent(path).getChildren().iterator(); while (children.hasNext()) { this.activateNodeRecursive(syndicator, path, ((Content) children.next()).getHandle()); } }