Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.openl.rules.repository.jcr;
 
 import java.util.List;
 
 import javax.jcr.Node;
public class JcrDependencies extends JcrCommonArtefact {
    protected JcrDependencies(Node nodethrows RepositoryException {
        super(node);
        // can be frozen node too
        // checkNodeType(JcrNT.NT_DEPENDENCIES);
    }
    @Override
    public RVersion getActiveVersion() {
        // not supported
        return null;
    }
        LinkedList<ProjectDependencyresult = new LinkedList<ProjectDependency>();
        try {
            NodeIterator ni = node().getNodes();
            while (ni.hasNext()) {
                Node n = ni.nextNode();
                result.add(new JcrDependency(n));
            }
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot get dependencies."e);
        }
        return result;
    }
    @Override
    public List<RVersiongetVersionHistory() throws RRepositoryException {
        throw new RRepositoryException("Not supported!"null);
    }
    public void updateDependencies(Collection<? extends ProjectDependencydependenciesthrows RRepositoryException {
        try {
            NodeUtil.smartCheckout(node(), true);
            // 1. clear
            NodeIterator ni = node().getNodes();
            while (ni.hasNext()) {
                Node n = ni.nextNode();
                n.remove();
            }
            node().save();
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot reset dependencies."e);
        }
        try {
            // 2. create new
            for (ProjectDependency dep : dependencies) {
                JcrDependency.createDependency(node(), dep.getProjectName(), dep.getLowerLimit(), dep.getUpperLimit());
            }
            node().save();
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot set dependencies."e);
        }
    }
New to GrepCode? Check out our FAQ X