Subversion Repositories SmartDukaan

Rev

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

Rev 51 Rev 54
Line 903... Line 903...
903
		}
903
		}
904
		Utils.info("validFeatureLabels=" + validFeatureLabels);
904
		Utils.info("validFeatureLabels=" + validFeatureLabels);
905
		
905
		
906
		// Missing features check
906
		// Missing features check
907
		if(candidateFeatures == null || candidateFeatures.isEmpty()) {
907
		if(candidateFeatures == null || candidateFeatures.isEmpty()) {
908
			Utils.severe("Missing features " + 
908
			Utils.info("No features found on the slide");
909
					StringUtils.join(validFeatureLabels, ", "));
909
			candidateFeatures = new ArrayList<String>();
910
		}
910
		}
911
		
911
		
912
		if(candidateFeatures != null) {
-
 
913
			// Discard if feature is not one of the valids
912
		// Discard if feature is not one of the valids
914
			List<String> processedFeatureLabels = new ArrayList<String>();
913
		List<String> processedFeatureLabels = new ArrayList<String>();
915
			for(String featureLabel : candidateFeatures) {
914
		for(String featureLabel : candidateFeatures) {
916
				
-
 
917
				if(validFeatureLabels.contains(featureLabel)) {
-
 
918
					processedFeatureLabels.add(featureLabel);
-
 
919
				}
-
 
920
				else {		
-
 
921
					Utils.severe("Invalid feature \"" + displayTextPrefix + 
-
 
922
							" > " + featureLabel + "\"");
-
 
923
				}
-
 
924
				
-
 
925
			}
-
 
926
			Utils.info("processedFeatureLabels=" + processedFeatureLabels);
-
 
927
			
-
 
928
			// For all further processing
-
 
929
			this.slideNameFeatureNames.put(slideName, processedFeatureLabels);
-
 
930
			
915
			
931
			// Fetch all mandatory features
-
 
932
			List<FeatureDefinition> mandatoryFeatureDefs = 
916
			if(validFeatureLabels.contains(featureLabel)) {
933
				defs.getFeatureDefinitions(slideDefID,
917
				processedFeatureLabels.add(featureLabel);
934
				EditorialImportance.MANDATORY);
-
 
935
	
-
 
936
			Utils.info("mandatoryFeatureDefs=" + mandatoryFeatureDefs);
-
 
937
			
918
			}
938
			// Severe error if mandatory features are not included
-
 
939
			for(FeatureDefinition featureDef : mandatoryFeatureDefs) {
-
 
940
				if(!processedFeatureLabels.contains(StringUtils.lowerCase(
-
 
941
						featureDef.getLabel()))) {
919
			else {		
942
					Utils.severe("Mandatory feature \"" + displayTextPrefix 
920
				Utils.severe("Invalid feature \"" + displayTextPrefix + 
943
							+ " > " + featureDef.getLabel() + "\" is missing");
921
						" > " + featureLabel + "\"");
944
				}
-
 
945
			}
922
			}
946
			
923
			
-
 
924
		}
-
 
925
		Utils.info("processedFeatureLabels=" + processedFeatureLabels);
-
 
926
		
-
 
927
		// For all further processing
-
 
928
		this.slideNameFeatureNames.put(slideName, processedFeatureLabels);
-
 
929
		
-
 
930
		// Fetch all mandatory features
-
 
931
		List<FeatureDefinition> mandatoryFeatureDefs = 
-
 
932
			defs.getFeatureDefinitions(slideDefID,
-
 
933
			EditorialImportance.MANDATORY);
-
 
934
 
-
 
935
		Utils.info("mandatoryFeatureDefs=" + mandatoryFeatureDefs);
-
 
936
		
-
 
937
		// Severe error if mandatory features are not included
-
 
938
		for(FeatureDefinition featureDef : mandatoryFeatureDefs) {
-
 
939
			if(!processedFeatureLabels.contains(StringUtils.lowerCase(
-
 
940
					featureDef.getLabel()))) {
-
 
941
				Utils.severe("Mandatory feature \"" + displayTextPrefix 
-
 
942
						+ " > " + featureDef.getLabel() + "\" is missing");
-
 
943
			}
-
 
944
		}
-
 
945
		
947
			// Fetch all recommended features
946
		// Fetch all recommended features
948
			List<FeatureDefinition> recommendedFeatureDefs = 
947
		List<FeatureDefinition> recommendedFeatureDefs = 
949
				defs.getFeatureDefinitions(slideDef.getID(),
948
			defs.getFeatureDefinitions(slideDef.getID(),
950
				EditorialImportance.RECOMMENDED);
949
			EditorialImportance.RECOMMENDED);
951
	
950
 
952
			Utils.info("recommendedFeatureDefs=" + recommendedFeatureDefs);
951
		Utils.info("recommendedFeatureDefs=" + recommendedFeatureDefs);
953
			
952
		
954
			// Warn if recommended features are not included
953
		// Warn if recommended features are not included
955
			for(FeatureDefinition featureDef : recommendedFeatureDefs) {
954
		for(FeatureDefinition featureDef : recommendedFeatureDefs) {
956
				if(!processedFeatureLabels.contains(StringUtils.lowerCase(
955
			if(!processedFeatureLabels.contains(StringUtils.lowerCase(
957
						featureDef.getLabel()))) {
956
					featureDef.getLabel()))) {
958
					Utils.warning("Recommended feature \"" + displayTextPrefix + 
957
				Utils.warning("Recommended feature \"" + displayTextPrefix + 
959
							" > " + featureDef.getLabel() + 
958
						" > " + featureDef.getLabel() + 
960
							"\" is missing");
959
						"\" is missing");
961
				}
-
 
962
			}
960
			}
963
		}
961
		}
964
		
962
		
965
		// Process features of children slides
963
		// Process features of children slides
966
		List<String> childrenSlideNames = 
964
		List<String> childrenSlideNames =