Rev 62 | Blame | Last modification | View Log | RSS feed
/****/package in.shop2020.util;import java.util.List;import in.shop2020.metamodel.core.Entity;import in.shop2020.metamodel.core.Feature;import in.shop2020.metamodel.core.Slide;import in.shop2020.metamodel.definitions.Catalog;import in.shop2020.metamodel.definitions.DefinitionsContainer;import in.shop2020.metamodel.definitions.EntityContainer;import in.shop2020.metamodel.definitions.FeatureDefinition;import in.shop2020.metamodel.definitions.SlideDefinition;import in.shop2020.metamodel.util.ExpandedCategoryFacetDefinition;import in.shop2020.metamodel.util.ExpandedFacetDefinition;/*** Command line utility to convert IR Definitions into IR Data and IR Meta-data** @author naveen**/public class IR {/*** Jython source path*/public static String JYTHON_SRC_PATH = "src/jython/";/*** IR XML export path*/public static String EXPORT_IR_PATH ="/home/naveen/workspace/eclipse/export/ir/";private long categoryID;/*** @param args* @throws Exception*/public static void main(String[] args) throws Exception {String usage = "Usage: IR {Category ID}";if(args.length < 1) {System.out.println(usage);System.exit(-1);}long categoryID = 0;try {categoryID = Long.parseLong(args[0]);}catch (NumberFormatException nfe) {System.out.println(usage);System.exit(-1);}IR ir = new IR(categoryID);ir.exportIRData();}/**** @param categoryID*/public IR(long categoryID) {this.categoryID = categoryID;}/*** @throws Exception**/@SuppressWarnings("unchecked")public void exportIRData() throws Exception {DefinitionsContainer defs =Catalog.getInstance().getDefinitionsContainer();EntityContainer ents =Catalog.getInstance().getEntityContainer();// Get all facets for the categoryExpandedCategoryFacetDefinition expCategoryFacetDef =defs.getExpandedCategoryFacetDefinition(this.categoryID);List<ExpandedFacetDefinition> expFacetDefs =expCategoryFacetDef.getExpandedFacetDefinitions();// Get all entities for the categoryList<Entity> entities = ents.getEntities(this.categoryID);JythonWrapper jw = new JythonWrapper();// For each entityif(entities != null) {for(Entity entity : entities) {// For each facet execute Rulefor(ExpandedFacetDefinition expFacetDef : expFacetDefs) {jw.initialize();jw.setEntity(entity);jw.setExpandedFacetDefinition(expFacetDef);// To reduce scripts work// Set FeatureDefinitionFeatureDefinition featureDef =expFacetDef.getFeatureDefinition();if(featureDef != null) {jw.setFeatureDefinition(featureDef);// Set FeatureFeature feature =ents.getFeature(entity.getID(), featureDef.getID());jw.setFeature(feature);}// Set SlideDefinitionSlideDefinition slideDef = expFacetDef.getSlideDefinition();if(slideDef != null) {jw.setSlideDefinition(slideDef);// Set SlideSlide slide = ents.getSlide(entity.getID(),slideDef.getID());jw.setSlide(slide);}jw.execIRDataRule();List<Object> values = (List<Object>)jw.getValues();Utils.info("values=" + values);}}}}}