package org.cloudgraph.web.model.cache; import org.cloudgraph.web.sdo.categorization.TaxonomyMap; 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 TaxonomyMapQuery { public static Query createQuery() { Select select = new Select(new String[] { "*", }); From from = new From(TaxonomyMap.TYPE_NAME_TAXONOMY_MAP, TaxonomyMap.NAMESPACE_URI); OrderBy orderBy = new OrderBy(); orderBy.addProperty(Property.forName(TaxonomyMap.PROPERTY.name.name())); Query query = new Query(select, from, orderBy); return query; } public static Query createQuery(long seqId) { Select select = new Select(new String[] { "*", "left/*", "left/category/*", "right/*", "right/category/*", "categoryLink/left/*", "categoryLink/right/*", "categoryLink/left/parent/*", "categoryLink/right/parent/*", "categoryLink/left/parent/parent/*", "categoryLink/right/parent/parent/*", "categoryLink/left/parent/parent/parent/*", "categoryLink/right/parent/parent/parent/*", "categoryLink/left/parent/parent/parent/parent/*", "categoryLink/right/parent/parent/parent/parent/*", "categoryLink/left/parent/parent/parent/parent/parent/*", "categoryLink/right/parent/parent/parent/parent/parent/*", "categoryLink/left/parent/parent/parent/parent/parent/parent/*", "categoryLink/right/parent/parent/parent/parent/parent/parent/*", }); From from = new From(TaxonomyMap.TYPE_NAME_TAXONOMY_MAP, TaxonomyMap.NAMESPACE_URI); Where where = new Where(); where.addExpression( Property.forName(TaxonomyMap.PROPERTY.seqId.name()).eq(seqId)); return new Query(select, from, where); } }