package org.cloudgraph.web.model.cache; import org.cloudgraph.web.sdo.core.Organization; import org.plasma.query.model.From; import org.plasma.query.model.OrderBy; import org.plasma.query.model.Property; import org.plasma.query.model.Query; import org.plasma.query.model.Select; import org.plasma.query.model.Where; public class OrganizationQuery { public static Query createHierarchyQuery(String rootCode) { Select select = new Select(new String[] { "*", "child/*", "child/child/*", "child/child/child/*", "child/child/child/child/*", "child/child/child/child/child/*", "child/child/child/child/child/child/*", }); From from = new From(Organization.TYPE_NAME_ORGANIZATION, Organization.NAMESPACE_URI); Where where = new Where(); where.addExpression(Property.forName( Organization.PROPERTY.code.name()).eq(rootCode)); OrderBy orderBy = new OrderBy(); orderBy.addProperty(Property.forName(Organization.PROPERTY.name.name())); Query query = new Query(select, from, where, orderBy); return query; } }