Subversion Repositories SmartDukaan

Rev

Rev 1153 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1153 Rev 1314
Line 2... Line 2...
2
 * 
2
 * 
3
 */
3
 */
4
package in.shop2020.util;
4
package in.shop2020.util;
5
 
5
 
6
 
6
 
7
import in.shop2020.metamodel.definitions.EnumDefinition;
-
 
8
import in.shop2020.metamodel.definitions.EnumValue;
-
 
9
import in.shop2020.metamodel.definitions.FeatureDefinition;
-
 
10
import in.shop2020.metamodel.definitions.RuleDefinition;
7
import in.shop2020.metamodel.definitions.RuleDefinition;
11
import in.shop2020.metamodel.definitions.SlideDefinition;
8
import in.shop2020.metamodel.definitions.SlideDefinition;
12
import in.shop2020.metamodel.util.CreationUtils;
-
 
13
import in.shop2020.metamodel.util.ExpandedBulletDefinition;
-
 
14
import in.shop2020.metamodel.util.ExpandedFacetDefinition;
9
import in.shop2020.metamodel.util.ExpandedFacetDefinition;
15
import in.shop2020.metamodel.util.ExpandedFeatureDefinition;
10
import in.shop2020.metamodel.util.ExpandedFacetSlideDefinition;
16
import in.shop2020.metamodel.util.ExpandedSlideDefinition;
11
import in.shop2020.metamodel.util.ExpandedSlideDefinition;
17
import in.shop2020.metamodel.util.ExpandedSlideFeatureDefinition;
-
 
18
 
12
 
19
import java.util.ArrayList;
13
import java.util.ArrayList;
20
import java.util.List;
14
import java.util.List;
21
 
15
 
22
import org.python.core.PyObject;
16
import org.python.core.PyObject;
Line 34... Line 28...
34
	 * Local instance of Facet Definition - Used to pick script to execute
28
	 * Local instance of Facet Definition - Used to pick script to execute
35
	 */
29
	 */
36
	private ExpandedFacetDefinition expandedFacetDefinition = null;
30
	private ExpandedFacetDefinition expandedFacetDefinition = null;
37
	
31
	
38
	/**
32
	/**
-
 
33
	 * Set of possible values collected while irdata 
-
 
34
	 */
-
 
35
	private List<String> possibleValues = new ArrayList<String>();
-
 
36
	
-
 
37
	/**
39
	 * Resets current PythonInterpreter instance
38
	 * Resets current PythonInterpreter instance
40
	 */
39
	 */
41
	public void reset() {
40
	public void reset() {
42
		super.reset();
41
		super.reset();
43
		this.expandedFacetDefinition = null;
42
		this.expandedFacetDefinition = null;
Line 63... Line 62...
63
		if(this.py == null || this.expandedFacetDefinition == null) {
62
		if(this.py == null || this.expandedFacetDefinition == null) {
64
			throw new IllegalStateException(
63
			throw new IllegalStateException(
65
					"Not initialized properly");
64
					"Not initialized properly");
66
		}
65
		}
67
		
66
		
68
		FeatureDefinition featureDef = 
-
 
69
			this.expandedFacetDefinition.getFeatureDefinition();
-
 
70
		
-
 
71
		SlideDefinition slideDef = 
-
 
72
			this.expandedFacetDefinition.getSlideDefinition();
-
 
73
		
-
 
74
		List<String> possibleValues = new ArrayList<String>();
-
 
75
 
67
 
76
		// expFeatureDef
-
 
77
		if(featureDef != null) {
-
 
78
			ExpandedFeatureDefinition expFeatureDef = 
-
 
79
				new ExpandedFeatureDefinition(featureDef);
-
 
80
			
-
 
81
			this.py.set("expFeatureDef", expFeatureDef);
-
 
82
			
-
 
83
			ExpandedBulletDefinition expBulletDef = 
-
 
84
				expFeatureDef.getExpandedBulletDefinition();
-
 
85
			
-
 
86
			// Fixed
-
 
87
			if (expBulletDef.isEnumerated()) {
-
 
88
				EnumDefinition enumDef = 
-
 
89
					(EnumDefinition) expBulletDef.getDatatypeDefinition();
-
 
90
				
-
 
91
				List<EnumValue> enumValues = enumDef.getEnumValues();
-
 
92
				
-
 
93
				for(EnumValue enumValue : enumValues) {
-
 
94
					possibleValues.add(enumValue.getValue());
-
 
95
				}
-
 
96
 
-
 
97
				//Utils.info("possibleValues=" + possibleValues);
-
 
98
				this.py.set("possibleValues", possibleValues);
-
 
99
			} 
-
 
100
			
-
 
101
			// Get values collected across entities
-
 
102
			else {
-
 
103
				
-
 
104
				long facetDefinitionID = this.expandedFacetDefinition.getID();
68
		List<ExpandedFacetSlideDefinition> expFacetSlideDefs = expandedFacetDefinition.getExpandedFacetSlideDefinitions();
105
				
-
 
106
				
-
 
107
				possibleValues = CreationUtils.getFacetValues(facetDefinitionID);
-
 
108
				
-
 
109
				//Utils.info("possibleValues=" + possibleValues);
-
 
110
				this.py.set("possibleValues", possibleValues);
-
 
111
			}
-
 
112
		}
-
 
113
 
-
 
114
		// expSlideDef
-
 
115
		else if(slideDef != null) {
-
 
116
			ExpandedSlideDefinition expSlideDef = 
69
		for(ExpandedFacetSlideDefinition expFacetSlideDef: expFacetSlideDefs){
117
				new ExpandedSlideDefinition(slideDef);
-
 
118
			
70
			
119
			this.py.set("expSlideDef", expSlideDef);
71
			SlideDefinition slideDef = expFacetSlideDef.getSlideDefinition();
120
			
72
			
121
			List<ExpandedSlideFeatureDefinition> expSlideFeatureDefs = 
-
 
122
				expSlideDef.getExpandedSlideFeatureDefinitions();
73
			ExpandedSlideDefinition expSlideDef = new ExpandedSlideDefinition(slideDef);
123
			
74
			
124
			for(ExpandedSlideFeatureDefinition expSlideFeatureDef : 
75
			this.py.set("expSlideDef", expSlideDef);
125
					expSlideFeatureDefs) {
-
 
126
				
76
			
127
				ExpandedFeatureDefinition expFeatureDef = 
-
 
128
					expSlideFeatureDef.getExpandedFeatureDefinition();
77
			RuleDefinition ruleDef =  expFacetSlideDef.getIrMetadataRuleDefinition();
129
				
-
 
130
				possibleValues.add(expFeatureDef.getLabel());
-
 
131
			}
-
 
132
			
78
			
133
			// Feature Labels
79
			// Feature Labels
134
			//Utils.info("possibleValues=" + possibleValues);
80
			//Utils.info("possibleValues=" + possibleValues);
135
			this.py.set("possibleValues", possibleValues);
81
			this.py.set("possibleValues", possibleValues);
-
 
82
			System.out.println(ruleDef);
-
 
83
			String pyScript = ruleDef.getScript();
-
 
84
			String scriptFullPath = Utils.JYTHON_SRC_PATH + "irmetadatarules/" + pyScript;	
-
 
85
 
-
 
86
			Utils.info("ruleDef.getID()=" + ruleDef.getID());
-
 
87
			Utils.info("scriptFullPath=" + scriptFullPath);
-
 
88
			
-
 
89
			this.exec(scriptFullPath);
-
 
90
 
136
		}
91
		}
-
 
92
	}
-
 
93
	
-
 
94
//		// expFeatureDef
-
 
95
//		if(featureDef != null) {
-
 
96
//			ExpandedFeatureDefinition expFeatureDef = 
-
 
97
//				new ExpandedFeatureDefinition(featureDef);
-
 
98
//			
-
 
99
//			this.py.set("expFeatureDef", expFeatureDef);
-
 
100
//			
-
 
101
//			ExpandedBulletDefinition expBulletDef = 
-
 
102
//				expFeatureDef.getExpandedBulletDefinition();
-
 
103
//			
-
 
104
//			// Fixed
-
 
105
//			if (expBulletDef.isEnumerated()) {
-
 
106
//				EnumDefinition enumDef = 
-
 
107
//					(EnumDefinition) expBulletDef.getDatatypeDefinition();
-
 
108
//				
-
 
109
//				List<EnumValue> enumValues = enumDef.getEnumValues();
-
 
110
//				
-
 
111
//				for(EnumValue enumValue : enumValues) {
-
 
112
//					possibleValues.add(enumValue.getValue());
-
 
113
//				}
-
 
114
//
-
 
115
//				//Utils.info("possibleValues=" + possibleValues);
-
 
116
//				this.py.set("possibleValues", possibleValues);
-
 
117
//			} 
-
 
118
//			
-
 
119
//			// Get values collected across entities
-
 
120
//			else {
-
 
121
//				
-
 
122
//				long facetDefinitionID = this.expandedFacetDefinition.getID();
-
 
123
//				
-
 
124
//				
-
 
125
//				possibleValues = CreationUtils.getFacetValues(facetDefinitionID);
-
 
126
//				
-
 
127
//				//Utils.info("possibleValues=" + possibleValues);
-
 
128
//				this.py.set("possibleValues", possibleValues);
-
 
129
//			}
-
 
130
//		}
-
 
131
//
-
 
132
//		// expSlideDef
-
 
133
//		else if(slideDef != null) {
-
 
134
//			ExpandedSlideDefinition expSlideDef = 
-
 
135
//				new ExpandedSlideDefinition(slideDef);
-
 
136
//			
-
 
137
//			this.py.set("expSlideDef", expSlideDef);
-
 
138
//			
-
 
139
//			List<ExpandedSlideFeatureDefinition> expSlideFeatureDefs = 
-
 
140
//				expSlideDef.getExpandedSlideFeatureDefinitions();
-
 
141
//			
-
 
142
//			for(ExpandedSlideFeatureDefinition expSlideFeatureDef : 
-
 
143
//					expSlideFeatureDefs) {
-
 
144
//				
-
 
145
//				ExpandedFeatureDefinition expFeatureDef = 
-
 
146
//					expSlideFeatureDef.getExpandedFeatureDefinition();
-
 
147
//				
-
 
148
//				possibleValues.add(expFeatureDef.getLabel());
-
 
149
//			}
-
 
150
//			
-
 
151
//			// Feature Labels
-
 
152
//			//Utils.info("possibleValues=" + possibleValues);
-
 
153
//			this.py.set("possibleValues", possibleValues);
-
 
154
//		}
137
		
155
		
138
		RuleDefinition ruleDef = 
-
 
139
			this.expandedFacetDefinition.getIrMetadataRuleDefinition();
-
 
140
		
156
	
141
		String pyScript = ruleDef.getScript();
-
 
142
		String scriptFullPath = Utils.JYTHON_SRC_PATH + "irmetadatarules/" + 
-
 
143
			pyScript;
-
 
144
		
157
	
145
		Utils.info("ruleDef.getID()=" + ruleDef.getID());
-
 
-
 
158
	/**
146
		Utils.info("scriptFullPath=" + scriptFullPath);
159
	 * Set the possible values set
147
		
160
	 */
-
 
161
	public void setPossibleValues(List<String> possibleValues){
148
		this.exec(scriptFullPath);
162
		this.possibleValues = possibleValues;
149
	}
163
	}
150
	
164
	
151
	/**
165
	/**
152
	 * 
166
	 * 
153
	 * @return
167
	 * @return