X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.core%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fcore%2FSuiteTermsManager.java;h=f8822f78c8b31a13909d07017e5f9a9081617279;hb=d7d9881c3a7e83c39015ac48e232292d7efc17d2;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..f8822f7 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 @@ -14,6 +14,7 @@ import org.argeo.api.NodeConstants; import org.argeo.api.NodeUtils; 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; @@ -32,20 +33,28 @@ public class SuiteTermsManager implements TermsManager { } @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;