X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.jcr%2Fsrc%2Forg%2Fargeo%2Fapp%2Fjcr%2Fterms%2FSuiteTermsManager.java;h=eba0529ac50c7d629e96bc88f3579d93cd9c03b8;hb=59ba52ac31cac753961fe9e2e55bbae21735ea96;hp=6327a552f9880cdfdb906b344058ef3a62d39d69;hpb=ad42f2e927cb1eea17db610e76e13f0ac11b6080;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.jcr/src/org/argeo/app/jcr/terms/SuiteTermsManager.java b/org.argeo.app.jcr/src/org/argeo/app/jcr/terms/SuiteTermsManager.java index 6327a55..eba0529 100644 --- a/org.argeo.app.jcr/src/org/argeo/app/jcr/terms/SuiteTermsManager.java +++ b/org.argeo.app.jcr/src/org/argeo/app/jcr/terms/SuiteTermsManager.java @@ -4,8 +4,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.TreeSet; import javax.jcr.Node; +import javax.jcr.NodeIterator; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; @@ -15,6 +18,7 @@ import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; import org.argeo.app.api.Term; import org.argeo.app.api.TermsManager; +import org.argeo.app.api.Typology; import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; @@ -60,6 +64,16 @@ public class SuiteTermsManager implements TermsManager { return t; } + @Override + public Set getTypologies() { + Set res = new TreeSet<>((o1, o2) -> o1.getId().compareTo(o2.getId())); + NodeIterator termsNodes = Jcr.executeQuery(adminSession, "SELECT * FROM [{0}]", EntityType.terms.get()); + for (Node termsNode : Jcr.iterate(termsNodes)) { + res.add(loadTypology(termsNode)); + } + return res; + } + SuiteTypology loadTypology(Node termsNode) { try { SuiteTypology typology = new SuiteTypology(termsNode);