X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.core%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fcore%2FSuiteTermsManager.java;h=41126c388f801ef9b1f27943b5b5461a226c0ec2;hb=41e9998f7f1c87c747c57f60c6bec65fa20757a6;hp=3c5a59fa42c5425820340017bc0ece5b2ccab93d;hpb=678186f16393cdafbd5430adbad98359179c96bd;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.suite.core/src/org/argeo/suite/core/SuiteTermsManager.java b/org.argeo.suite.core/src/org/argeo/suite/core/SuiteTermsManager.java index 3c5a59f..41126c3 100644 --- a/org.argeo.suite.core/src/org/argeo/suite/core/SuiteTermsManager.java +++ b/org.argeo.suite.core/src/org/argeo/suite/core/SuiteTermsManager.java @@ -10,10 +10,11 @@ import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; -import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; +import org.argeo.api.cms.CmsConstants; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.entity.EntityNames; import org.argeo.entity.EntityType; +import org.argeo.entity.Term; import org.argeo.entity.TermsManager; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; @@ -28,24 +29,32 @@ public class SuiteTermsManager implements TermsManager { private Session adminSession; public void init() { - adminSession = NodeUtils.openDataAdminSession(repository, NodeConstants.SYS_WORKSPACE); + adminSession = CmsJcrUtils.openDataAdminSession(repository, CmsConstants.SYS_WORKSPACE); } @Override - public List listAllTerms(String typology) { - List res = new ArrayList<>(); + public List listAllTerms(String typology) { + List res = new ArrayList<>(); SuiteTypology t = getTypology(typology); for (SuiteTerm term : t.getAllTerms()) { - res.add(term.getId()); + res.add(term); } return res; } - SuiteTypology getTypology(String typology) { + @Override + public SuiteTerm getTerm(String termId) { + return terms.get(termId); + } + + @Override + public SuiteTypology getTypology(String typology) { SuiteTypology t = typologies.get(typology); if (t == null) { Node termsNode = Jcr.getNode(adminSession, "SELECT * FROM [{0}] WHERE NAME()=\"{1}\"", EntityType.terms.get(), typology); + if (termsNode == null) + throw new IllegalArgumentException("Typology " + typology + " not found."); t = loadTypology(termsNode); } return t;