Rev 1051 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.creation.util;import java.util.ArrayList;import java.util.List;import in.shop2020.metamodel.core.Entity;import in.shop2020.metamodel.core.Slide;import in.shop2020.metamodel.definitions.Catalog;import in.shop2020.metamodel.definitions.CategorySlideDefinition;import in.shop2020.metamodel.definitions.EditorialImportance;/**** @author naveen**/public class ContentValidator {/**** @param entity* @return* @throws Exception*/public boolean validate(Entity entity) throws Exception {List<Long> slideDefIDs = this.getSlideDefinitionIDs(entity);if(slideDefIDs == null) {return false;}List<Long> requiredSlideDefIDs = entity.getSlideSequence();if(requiredSlideDefIDs == null) {requiredSlideDefIDs = new ArrayList<Long>();List<CategorySlideDefinition> catSlideDefs =Catalog.getInstance().getDefinitionsContainer().getCategorySlideDefinitions(entity.getCategoryID());for(CategorySlideDefinition catSlideDef : catSlideDefs) {if(catSlideDef.getEditorialImportance() ==EditorialImportance.MANDATORY) {requiredSlideDefIDs.add(new Long(catSlideDef.getSlideDefintionID()));}}}for(Long requiredSlideDefID : requiredSlideDefIDs) {if(!slideDefIDs.contains(requiredSlideDefID)) {return false;}}// Validate required features per slide// TODO// Validate bullets per feature// TODOreturn true;}/**** @param entity* @return*/private List<Long> getSlideDefinitionIDs(Entity entity) {List<Long> slideDefIDs = new ArrayList<Long>();List<Slide> slides = entity.getSlides();if(slides == null) {return null;}for(Slide slide : slides) {slideDefIDs.add(new Long(slide.getSlideDefinitionID()));}return slideDefIDs;}}