Rev 51 | Rev 1061 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.metamodel.util;import java.util.ArrayList;import java.util.List;import in.shop2020.metamodel.definitions.Catalog;import in.shop2020.metamodel.definitions.DefinitionsContainer;import in.shop2020.metamodel.definitions.SlideDefinition;import in.shop2020.metamodel.definitions.SlideFeatureDefinition;/*** Utility class that supports SlideDefinition class. All related* objects are fetched from database and aggregated here.** @author naveen**/public class ExpandedSlideDefinition extends SlideDefinition {/****/private static final long serialVersionUID = 1L;/*** Expanded from list of SlideFeatureDefinition IDs*/private List<ExpandedSlideFeatureDefinition>expandedSlideFeatureDefinitions;/*** Expanded from list of children SlideDefinition objects*/private List<ExpandedSlideDefinition> expandedChildrentSlideDefinitions;/*** Takes SlideDefinition object as input and converts all references* into corresponding detail objects** @param slideDefinition SlideDefinition object* @throws Exception*/public ExpandedSlideDefinition(SlideDefinition slideDefinition)throws Exception {super(slideDefinition.getID(), slideDefinition.getLabel());// Copy rest of the propertiesthis.setChildrenSlideDefinitionIDs(slideDefinition.getChildrenSlideDefinitionIDs());this.setDescription(slideDefinition.getDescription());this.setLabel(slideDefinition.getLabel());this.setSlideFeatureDefinitions(slideDefinition.getSlideFeatureDefinitions());// Expand SlideFeatureDefinitionList<SlideFeatureDefinition> slideFeatureDefs =slideDefinition.getSlideFeatureDefinitions();if(slideFeatureDefs != null) {this.expandedSlideFeatureDefinitions =new ArrayList<ExpandedSlideFeatureDefinition>();for(SlideFeatureDefinition slideFeatureDef : slideFeatureDefs) {this.expandedSlideFeatureDefinitions.add(new ExpandedSlideFeatureDefinition(slideFeatureDef));}}// Expand children slidesDefinitionsContainer defs =Catalog.getInstance().getDefinitionsContainer();List<Long> childrenSlideIDs = this.getChildrenSlideDefinitionIDs();if(childrenSlideIDs != null) {this.expandedChildrentSlideDefinitions =new ArrayList<ExpandedSlideDefinition>();for(Long childSlideID : childrenSlideIDs) {SlideDefinition childSlideDef =defs.getSlideDefinition(childSlideID.longValue());this.expandedChildrentSlideDefinitions.add(new ExpandedSlideDefinition(childSlideDef));}}}/*** @return the expandedSlideFeatureDefinitions List of* ExpandedSlideFeatureDefinition objects*/public List<ExpandedSlideFeatureDefinition>getExpandedSlideFeatureDefinitions() {return expandedSlideFeatureDefinitions;}/*** @return the expandedChildrentSlideDefinitions List of children* ExpandedSlideDefinition objects*/public List<ExpandedSlideDefinition> getExpandedChildrentSlideDefinitions(){return expandedChildrentSlideDefinitions;}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "ExpandedSlideDefinition [expandedSlideFeatureDefinitions="+ expandedSlideFeatureDefinitions+ ", getChildrenSlideDefinitionIDs()="+ getChildrenSlideDefinitionIDs() + ", getDescription()="+ getDescription() + ", getLabel()=" + getLabel()+ ", getSlideFeatureDefinitions()="+ getSlideFeatureDefinitions()+ ", getExpandedChildrentSlideDefinitions()="+ getExpandedChildrentSlideDefinitions() +", getID()=" + getID() + "]";}}