Subversion Repositories SmartDukaan

Rev

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

Rev 18 Rev 19
Line 75... Line 75...
75
	public Map<Long, DatatypeDefinition> getDatatypeDefinitions() 
75
	public Map<Long, DatatypeDefinition> getDatatypeDefinitions() 
76
		throws Exception {
76
		throws Exception {
77
		
77
		
78
		// De-serialize
78
		// De-serialize
79
		if(this.datatypeDefinitions == null) {
79
		if(this.datatypeDefinitions == null) {
80
			String dbFile = MM.DEFINITIONS_DB_PATH + "datatypedefinitions" + ".ser";
80
			String dbFile = MM.DEFINITIONS_DB_PATH + "datatypedefinitions" + 
-
 
81
				".ser";
81
			
82
			
82
			this.datatypeDefinitions = 
83
			this.datatypeDefinitions = 
83
				(Map<Long, DatatypeDefinition>) DBUtils.read(dbFile);
84
				(Map<Long, DatatypeDefinition>) DBUtils.read(dbFile);
84
		}
85
		}
85
		return this.datatypeDefinitions;
86
		return this.datatypeDefinitions;
Line 98... Line 99...
98
			this.getDatatypeDefinitions();
99
			this.getDatatypeDefinitions();
99
		}
100
		}
100
		
101
		
101
		return this.datatypeDefinitions.get(new Long(id));
102
		return this.datatypeDefinitions.get(new Long(id));
102
	}
103
	}
-
 
104
 
-
 
105
	/**
-
 
106
	 * 
-
 
107
	 * @param datatypeDefID
-
 
108
	 * @param value
-
 
109
	 * @return long enumValueID - "-1" if not found
-
 
110
	 * @throws Exception 
-
 
111
	 */
-
 
112
	public long getEnumValueID(long datatypeDefID, String value) 
-
 
113
		throws Exception {
-
 
114
		long enumValueID = -1L;
-
 
115
		
-
 
116
		// Let the callers catch ClassCastException
-
 
117
		EnumDefinition enumDef = 
-
 
118
			(EnumDefinition)this.getDatatypeDefinition(datatypeDefID);
-
 
119
		
-
 
120
		List<EnumValue> enumValues = enumDef.getValues();
-
 
121
		for(EnumValue enumValue : enumValues) {
-
 
122
			if(value.equalsIgnoreCase(enumValue.getValue())) {
-
 
123
				enumValueID = enumValue.getID();
-
 
124
				break;
-
 
125
			}
-
 
126
		}
-
 
127
		
-
 
128
		return enumValueID;
-
 
129
	}
103
	
130
	
104
	/**
131
	/**
105
	 * @return the categories
132
	 * @return the categories
106
	 * @throws Exception 
133
	 * @throws Exception 
107
	 */
134
	 */
Line 180... Line 207...
180
		return this.slideDefinitions.get(new Long(id));
207
		return this.slideDefinitions.get(new Long(id));
181
	}
208
	}
182
	
209
	
183
	/**
210
	/**
184
	 * 
211
	 * 
-
 
212
	 * @param label
-
 
213
	 * @return List<SlideDefinition>
-
 
214
	 * @throws Exception
-
 
215
	 */
-
 
216
	public List<SlideDefinition> getSlideDefinition(String label) 
-
 
217
		throws Exception {
-
 
218
		
-
 
219
		// Initialize 
-
 
220
		if(this.slideDefinitions == null) {
-
 
221
			this.getSlideDefinitions();
-
 
222
		}
-
 
223
		
-
 
224
		List<SlideDefinition> matchingSlides = new ArrayList<SlideDefinition>();
-
 
225
		for(Iterator<SlideDefinition> it = 
-
 
226
			this.slideDefinitions.values().iterator(); it.hasNext(); ) {
-
 
227
			
-
 
228
			SlideDefinition def = it.next();
-
 
229
			if(def.getLabel().equals(label)) {
-
 
230
				matchingSlides.add(def);
-
 
231
			}
-
 
232
		}
-
 
233
		
-
 
234
		return matchingSlides;
-
 
235
	}
-
 
236
	/**
-
 
237
	 * 
185
	 * @param categoryID
238
	 * @param categoryID
186
	 * @param EditorialImportance imp
239
	 * @param EditorialImportance imp
187
	 * @return List<SlideDefinition>
240
	 * @return List<SlideDefinition>
188
	 * @throws Exception 
241
	 * @throws Exception 
189
	 */
242
	 */
Line 225... Line 278...
225
			this.featureDefinitions = 
278
			this.featureDefinitions = 
226
				(Map<Long, FeatureDefinition>) DBUtils.read(dbFile);
279
				(Map<Long, FeatureDefinition>) DBUtils.read(dbFile);
227
		}
280
		}
228
		return this.featureDefinitions;
281
		return this.featureDefinitions;
229
	}
282
	}
-
 
283
	
-
 
284
	/**
-
 
285
	 * 
-
 
286
	 * @param slideID
-
 
287
	 * @return List<FeatureDefinition> 
-
 
288
	 * @throws Exception
-
 
289
	 */
-
 
290
	public List<FeatureDefinition> getFeatureDefinitions(long slideID) 
-
 
291
		throws Exception {
-
 
292
		List<FeatureDefinition> featureDefs = 
-
 
293
			new ArrayList<FeatureDefinition>();
-
 
294
		
-
 
295
		SlideDefinition slideDef = this.getSlideDefinition(slideID);
-
 
296
		List<SlideFeatureDefinition> slideFeatureDefs = 
-
 
297
			slideDef.getSlideFeatureDefinitions();
-
 
298
		
-
 
299
		for(int i=0; i<slideFeatureDefs.size(); i++) {
-
 
300
			featureDefs.add(this.getFeatureDefinition(
-
 
301
					slideFeatureDefs.get(i).getFeatureDefintionID()));
-
 
302
		}
-
 
303
		
-
 
304
		return featureDefs;
-
 
305
	}
-
 
306
	
-
 
307
	/**
-
 
308
	 * 
-
 
309
	 * @param slideID
-
 
310
	 * @param imp
-
 
311
	 * @return List<FeatureDefinition>
-
 
312
	 * @throws Exception
-
 
313
	 */
-
 
314
	public List<FeatureDefinition> getFeatureDefinitions(long slideID, 
-
 
315
			EditorialImportance imp)  throws Exception {
-
 
316
		List<FeatureDefinition> featureDefs = 
-
 
317
			new ArrayList<FeatureDefinition>();
-
 
318
		
-
 
319
		SlideDefinition slideDef = this.getSlideDefinition(slideID);
-
 
320
		List<SlideFeatureDefinition> slideFeatureDefs = 
-
 
321
			slideDef.getSlideFeatureDefinitions();
-
 
322
		
-
 
323
		for(SlideFeatureDefinition slideFeatureDef : slideFeatureDefs) {
-
 
324
			if(slideFeatureDef.getEditorialImportance() == imp) {
-
 
325
				featureDefs.add(this.getFeatureDefinition(
-
 
326
						slideFeatureDef.getFeatureDefintionID()));
-
 
327
			}
-
 
328
		}
-
 
329
		
-
 
330
		return featureDefs;
-
 
331
	}
230
 
332
	
231
	/**
333
	/**
232
	 * 
334
	 * 
233
	 * @param id
335
	 * @param id
234
	 * @return
336
	 * @return FeatureDefinition
235
	 * @throws Exception
337
	 * @throws Exception
236
	 */
338
	 */
237
	public FeatureDefinition getFeatureDefinition(long id) throws Exception {
339
	public FeatureDefinition getFeatureDefinition(long id) throws Exception {
238
		
340
		
239
		// Initialize 
341
		// Initialize 
Line 241... Line 343...
241
			this.getFeatureDefinitions();
343
			this.getFeatureDefinitions();
242
		}
344
		}
243
		
345
		
244
		return this.featureDefinitions.get(new Long(id));
346
		return this.featureDefinitions.get(new Long(id));
245
	}	
347
	}	
-
 
348
 
-
 
349
	/**
-
 
350
	 * 
-
 
351
	 * @param slideID
-
 
352
	 * @param featureLabel
-
 
353
	 * @return FeatureDefinition 
-
 
354
	 * @throws Exception
-
 
355
	 */
-
 
356
	public FeatureDefinition getFeatureDefinition(long slideID, 
-
 
357
			String featureLabel) throws Exception {
-
 
358
		FeatureDefinition featureDef = null;
-
 
359
		
-
 
360
		SlideDefinition slideDef = this.getSlideDefinition(slideID);
-
 
361
		for(SlideFeatureDefinition slideFeatureDef : 
-
 
362
			slideDef.getSlideFeatureDefinitions()) {
-
 
363
			
-
 
364
			long featureDefID = slideFeatureDef.getFeatureDefintionID();
-
 
365
			
-
 
366
			FeatureDefinition thisFeatureDef = this.getFeatureDefinition(
-
 
367
					featureDefID);
-
 
368
			
-
 
369
			if(featureLabel.equals(thisFeatureDef.getLabel())) {
-
 
370
				featureDef = thisFeatureDef;
-
 
371
			}
-
 
372
		}
-
 
373
		
-
 
374
		return featureDef;
-
 
375
	}
-
 
376
	
246
}
377
}