Subversion Repositories SmartDukaan

Rev

Rev 44 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 44 Rev 45
Line 677... Line 677...
677
	 * @param paretnSlideDef
677
	 * @param paretnSlideDef
678
	 * @throws Exception 
678
	 * @throws Exception 
679
	 */
679
	 */
680
	private void collectChidrenSlideDefinitionIDs(String parentSlideName, 
680
	private void collectChidrenSlideDefinitionIDs(String parentSlideName, 
681
			SlideDefinition parentSlideDef) throws Exception {
681
			SlideDefinition parentSlideDef) throws Exception {
-
 
682
		Utils.info("collectChidrenSlideDefinitionIDs for " + parentSlideName);
682
		
683
		
683
		// May not be needed as validations have already filtered correct 
684
		// May not be needed as validations have already filtered correct 
684
		// children slide names
685
		// children slide names
685
		List<String> childrenSlideNames = 
686
		List<String> childrenSlideNames = 
686
			this.slideNameChildrenSlideNames.get(parentSlideName);
687
			this.slideNameChildrenSlideNames.get(parentSlideName);
-
 
688
		Utils.info("childrenSlideNames=" + childrenSlideNames);
687
		
689
		
688
		List<Long> childrenSlideDefinitionIDs = 
690
		List<Long> childrenSlideDefinitionIDs = 
689
			parentSlideDef.getChildrenSlideDefinitionIDs();
691
			parentSlideDef.getChildrenSlideDefinitionIDs();
-
 
692
		Utils.info("childrenSlideDefinitionIDs=" + childrenSlideDefinitionIDs);
690
		
693
		
691
		DefinitionsContainer defs = 
694
		DefinitionsContainer defs = 
692
			Catalog.getInstance().getDefinitionsContainer();
695
			Catalog.getInstance().getDefinitionsContainer();
693
		
696
		
694
		for(Long childSlideDefID : childrenSlideDefinitionIDs) {
697
		for(Long childSlideDefID : childrenSlideDefinitionIDs) {
695
			SlideDefinition childSlideDef = 
698
			SlideDefinition childSlideDef = 
696
				defs.getSlideDefinition(childSlideDefID.longValue());
699
				defs.getSlideDefinition(childSlideDefID.longValue());
697
			
700
			
698
			String label = childSlideDef.getLabel();
701
			String label = childSlideDef.getLabel();
-
 
702
			Utils.info("label="+label);
699
			
703
			
700
			if(childrenSlideNames.contains(StringUtils.lowerCase(label))) {
704
			if(childrenSlideNames.contains(StringUtils.lowerCase(label))) {
701
				String key = parentSlideName + "_" + 
705
				String key = parentSlideName + "_" + 
702
					StringUtils.lowerCase(label);
706
					StringUtils.lowerCase(label);
703
				
707
				
Line 758... Line 762...
758
			this.slideNameFeatureNames.get(slideName);
762
			this.slideNameFeatureNames.get(slideName);
759
		
763
		
760
		Utils.info("slideName=" + slideName);
764
		Utils.info("slideName=" + slideName);
761
		Utils.info("candidateFeatures=" + candidateFeatures);
765
		Utils.info("candidateFeatures=" + candidateFeatures);
762
		
766
		
763
		// Feature less slide
-
 
764
		if(candidateFeatures == null) {
-
 
765
			return;
-
 
766
		}
-
 
767
		
-
 
768
		// Get all feature definitions for the slide
767
		// Get all feature definitions for the slide
769
		DefinitionsContainer defs = 
768
		DefinitionsContainer defs = 
770
			Catalog.getInstance().getDefinitionsContainer();
769
			Catalog.getInstance().getDefinitionsContainer();
771
		
770
		
772
		SlideDefinition slideDef = defs.getSlideDefinition(slideDefID);
771
		SlideDefinition slideDef = defs.getSlideDefinition(slideDefID);
Line 774... Line 773...
774
		
773
		
775
		List<FeatureDefinition> featureDefs = 
774
		List<FeatureDefinition> featureDefs = 
776
			defs.getFeatureDefinitions(slideDefID);
775
			defs.getFeatureDefinitions(slideDefID);
777
		Utils.info("featureDefs=" + featureDefs);
776
		Utils.info("featureDefs=" + featureDefs);
778
		
777
		
-
 
778
		// Feature less slide
-
 
779
		if(featureDefs == null || featureDefs.isEmpty()) {
-
 
780
			Utils.info("Feature-less slide");
-
 
781
			return;
-
 
782
		}
-
 
783
		
779
		List<String> validFeatureLabels = new ArrayList<String>();
784
		List<String> validFeatureLabels = new ArrayList<String>();
780
		for(int i=0; i<featureDefs.size(); i++) {
785
		for(int i=0; i<featureDefs.size(); i++) {
781
			validFeatureLabels.add(
786
			validFeatureLabels.add(
782
					StringUtils.lowerCase(featureDefs.get(i).getLabel()));
787
					StringUtils.lowerCase(featureDefs.get(i).getLabel()));
783
		
788
		
784
		}
789
		}
785
		Utils.info("validFeatureLabels=" + validFeatureLabels);
790
		Utils.info("validFeatureLabels=" + validFeatureLabels);
-
 
791
		
-
 
792
		// Missing features check
-
 
793
		if(candidateFeatures == null || candidateFeatures.isEmpty()) {
-
 
794
			Utils.severe("Missing features " + 
-
 
795
					StringUtils.join(validFeatureLabels, ", "));
-
 
796
		}
786
		 
797
		 
787
		// Discard if feature is not one of the valids
798
		// Discard if feature is not one of the valids
788
		List<String> processedFeatureLabels = new ArrayList<String>();
799
		List<String> processedFeatureLabels = new ArrayList<String>();
789
		for(String featureLabel : candidateFeatures) {
800
		for(String featureLabel : candidateFeatures) {
790
			
801