Rev 1050 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.metamodel.util;import in.shop2020.metamodel.core.Entity;import in.shop2020.metamodel.definitions.Catalog;import in.shop2020.metamodel.definitions.EntityContainer;import java.util.List;import java.util.Map;/*** Utility to query data from Entities DB** Usage: {Slide Name1, Child Slide Name, Child's Child Slide Name...} {Feature Name}* @author naveen**/public class QRY {/*** @param args* @throws Exception*/public static void main(String[] args) throws Exception {if(args.length < 1) {System.out.println("Usage: {Slide Name1, Child Slide Name, " +"Child's Child Slide Name...} {Feature Name}");System.exit(-1);}QRY qry = new QRY(args);qry.exec();}private String[] slideNames;private String featureName;/*** Level - 4, 8, 12, 16*/private String[] indentation = {"", " ", " ", " "," ", " "," "};/**** @param args*/public QRY(String[] args) {if(args.length == 1) {this.slideNames = new String[] { args[0] };}else {this.featureName = args[args.length-1];this.slideNames = new String[args.length-1];for(int i=0;i<args.length-1;i++) {this.slideNames[i] = args[i];}}}/*** @throws Exception**/public void exec() throws Exception {Map<Long, Entity> entities = CreationUtils.getEntities();for(Entity entity : entities.values()) {ExpandedEntity expEntity = new ExpandedEntity(entity);String entityName = expEntity.getBrand() + " " +expEntity.getModelName() + " " + expEntity.getModelNumber();String categoryLabel = expEntity.getCategory().getLabel();System.out.println(entityName + " (" + categoryLabel + ")");List<ExpandedSlide> expSlides = expEntity.getExpandedSlides();ExpandedSlide expSlide = null;int indent = 1;int i = 0;for(;i<this.slideNames.length;i++) {String slideName = this.slideNames[i];expSlide = this.getMatchingSlide(expSlides, slideName);if(expSlide == null) {break;}String slideLabel = expSlide.getSlideDefinition().getLabel();System.out.println(this.indentation[indent] + slideLabel);if(!expSlide.hasChildrenSlides()) {break;}List<ExpandedSlide> expChildrenSlides =expSlide.getExpandedChildrenSlides();// For next iterationexpSlides = expChildrenSlides;indent++;}// && i == this.slideNames.length-1if(expSlide != null) {List<ExpandedFeature> expFeatures =expSlide.getExpandedFeatures();indent = indent + 1;for(ExpandedFeature expFeature : expFeatures) {if(expFeature.getFeatureDefinition().getLabel().equalsIgnoreCase(this.featureName)) {String featureLabel =expFeature.getFeatureDefinition().getLabel();System.out.println(this.indentation[indent] +featureLabel);List<ExpandedBullet> expBullets =expFeature.getExpandedBullets();if(expBullets == null) {System.out.println(this.indentation[indent+1] +"No bullets found");}else {for(ExpandedBullet expBullet : expBullets) {System.out.println(this.indentation[indent+1] +expBullet.displayText());}}break;}}}}}/**** @param expSlides* @return*/private ExpandedSlide getMatchingSlide(List<ExpandedSlide> expSlides,String slideName) {for (ExpandedSlide expSlide : expSlides) {if(expSlide.getSlideDefinition().getLabel().equalsIgnoreCase(slideName)) {return expSlide;}}return null;}}