X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.jcr%2Fsrc%2Forg%2Fargeo%2Fapp%2Fjcr%2Fterms%2FSuiteTermsManager.java;h=30ecb764301164a1145be5f33024cc3013a15b54;hb=616a062e9d061ce91589556624ed622298a21ac7;hp=6327a552f9880cdfdb906b344058ef3a62d39d69;hpb=d6c9d33b61e475914d3f8d7534374ed30eca8150;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..30ecb76 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,17 +4,21 @@ 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; +import org.argeo.api.app.EntityNames; +import org.argeo.api.app.EntityType; +import org.argeo.api.app.Term; +import org.argeo.api.app.TermsManager; +import org.argeo.api.app.Typology; import org.argeo.api.cms.CmsConstants; -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.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);