Subversion Repositories SmartDukaan

Rev

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

Rev 1061 Rev 1153
Line 1... Line 1...
1
package in.shop2020.metamodel.util;
1
package in.shop2020.metamodel.util;
2
 
2
 
3
import in.shop2020.metamodel.core.Entity;
3
import in.shop2020.metamodel.core.Entity;
4
import in.shop2020.metamodel.core.EntityState;
4
import in.shop2020.metamodel.core.EntityState;
-
 
5
import in.shop2020.metamodel.core.Feature;
-
 
6
import in.shop2020.metamodel.core.Slide;
5
import in.shop2020.metamodel.util.CN;
7
import in.shop2020.metamodel.util.CN;
6
import in.shop2020.storage.bdb.StorageManager;
8
import in.shop2020.storage.bdb.StorageManager;
7
 
9
 
8
import java.io.PrintWriter;
10
import java.io.PrintWriter;
9
import java.io.StringWriter;
11
import java.io.StringWriter;
10
import java.io.Writer;
12
import java.io.Writer;
-
 
13
import java.util.ArrayList;
11
import java.util.Collection;
14
import java.util.Collection;
12
import java.util.List;
15
import java.util.List;
13
import java.util.Map;
16
import java.util.Map;
14
 
17
 
15
 
18
 
Line 162... Line 165...
162
	}
165
	}
163
 
166
 
164
	public static Collection<Entity> getEntities(long categoryId) throws Exception {
167
	public static Collection<Entity> getEntities(long categoryId) throws Exception {
165
		return StorageManager.getStorageManager().getEntitisByCategory(categoryId);
168
		return StorageManager.getStorageManager().getEntitisByCategory(categoryId);
166
	}
169
	}
-
 
170
 
-
 
171
	/**
-
 
172
	 * 
-
 
173
	 * @param slide
-
 
174
	 * @param featureDefinitionID
-
 
175
	 * @return Feature
-
 
176
	 */
-
 
177
	public static Feature getFeature(Slide slide, long featureDefinitionID) {
-
 
178
		List<Feature> features = slide.getFeatures();
-
 
179
		
-
 
180
		if(features != null) {
-
 
181
			for(Feature feature : features) {
-
 
182
				if(feature.getFeatureDefinitionID() == featureDefinitionID) {
-
 
183
					return feature;
-
 
184
				}
-
 
185
			}
-
 
186
		}
-
 
187
		
-
 
188
		Feature feature = null;
-
 
189
		
-
 
190
		List<Slide> childrenSlides = slide.getChildrenSlides();
-
 
191
		if(childrenSlides != null) {
-
 
192
			for(Slide childSlide : childrenSlides) {
-
 
193
				
-
 
194
				feature = CreationUtils.getFeature(childSlide, featureDefinitionID);
-
 
195
				if(feature == null) {
-
 
196
					continue;
-
 
197
				}
-
 
198
				else {
-
 
199
					break;
-
 
200
				}
-
 
201
			}
-
 
202
		}
-
 
203
		
-
 
204
		return feature;
-
 
205
	}
-
 
206
	
167
	
207
	
-
 
208
	/**
-
 
209
	 * Utility method to find out Slide object in Entity instance
-
 
210
	 * 
-
 
211
	 * @param entityID
-
 
212
	 * @param slideDefinitionID
-
 
213
	 * @return
-
 
214
	 * @throws Exception 
-
 
215
	 */
-
 
216
	public static Slide getSlide(long entityID, long slideDefinitionID) 
-
 
217
		throws Exception {
-
 
218
		Entity entity = CreationUtils.getEntity(entityID);
-
 
219
		
-
 
220
		List<Slide> slides = entity.getSlides();
-
 
221
		
-
 
222
		Slide resultSlide = null;
-
 
223
		
-
 
224
		if(slides != null) {
-
 
225
			for(Slide slide : slides) {
-
 
226
 
-
 
227
				if(slide.getSlideDefinitionID() == slideDefinitionID) {
-
 
228
					return slide;
-
 
229
				}
-
 
230
				
-
 
231
				resultSlide = CreationUtils.getSlide(slide, slideDefinitionID);
-
 
232
				
-
 
233
				if(resultSlide == null) {
-
 
234
					continue;
-
 
235
				}
-
 
236
				else {
-
 
237
					break;
-
 
238
				}
-
 
239
			}
-
 
240
		}
-
 
241
		
-
 
242
		return resultSlide;
-
 
243
	}
-
 
244
 
-
 
245
	
-
 
246
	/**
-
 
247
	 * 
-
 
248
	 * @param slide
-
 
249
	 * @param slideDefinitionID
-
 
250
	 * @return
-
 
251
	 */
-
 
252
	public static Slide getSlide(Slide slide, long slideDefinitionID) {
-
 
253
		
-
 
254
		List<Slide> childrenSlides = slide.getChildrenSlides();
-
 
255
		
-
 
256
		Slide resultSlide = null;
-
 
257
		
-
 
258
		if(childrenSlides != null) {
-
 
259
			for(Slide childSlide : childrenSlides) {
-
 
260
				if(childSlide.getSlideDefinitionID() == slideDefinitionID) {
-
 
261
					return childSlide;
-
 
262
				}
-
 
263
				
-
 
264
				resultSlide = CreationUtils.getSlide(childSlide, slideDefinitionID);
-
 
265
				if(resultSlide == null) {
-
 
266
					continue;
-
 
267
				}
-
 
268
				else {
-
 
269
					break;
-
 
270
				}
-
 
271
			}
-
 
272
		}
-
 
273
		
-
 
274
		return resultSlide;
-
 
275
	}
-
 
276
 
-
 
277
	/**
-
 
278
	 * Utility method to find out Feature object in Entity instance
-
 
279
	 * 
-
 
280
	 * @param entityID
-
 
281
	 * @param featureDefinitionID
-
 
282
	 * @return Feature
-
 
283
	 * @throws Exception 
-
 
284
	 */
-
 
285
	public static Feature getFeature(long entityID, long featureDefinitionID) 
-
 
286
		throws Exception {
-
 
287
		Entity entity = CreationUtils.getEntity(entityID);
-
 
288
		
-
 
289
		Feature feature = null;
-
 
290
		
-
 
291
		List<Slide> slides = entity.getSlides();
-
 
292
		for(Slide slide : slides) {
-
 
293
			feature = CreationUtils.getFeature(slide, featureDefinitionID);
-
 
294
			
-
 
295
			// Until all slides are searched
-
 
296
			if(feature == null) {
-
 
297
				continue;
-
 
298
			}
-
 
299
			else {
-
 
300
				break;
-
 
301
			}
-
 
302
		}
-
 
303
		
-
 
304
		return feature;
-
 
305
	}
-
 
306
	
-
 
307
 
-
 
308
	/**
-
 
309
	 * Returns expand form of entity object. All references are resolved into 
-
 
310
	 * corresponding detail object
-
 
311
	 * 
-
 
312
	 * @param entityID
-
 
313
	 * @return ExpandedEntity 
-
 
314
	 * @throws Exception 
-
 
315
	 */
-
 
316
	public static ExpandedEntity getExpandedEntity(long entityID) throws Exception {
-
 
317
		Entity entity = CreationUtils.getEntity(entityID);
-
 
318
		if(entity==null){
-
 
319
			System.out.println("Entity is null");
-
 
320
			return null;
-
 
321
		}
-
 
322
		System.out.println( entity.getCategoryID());
-
 
323
		ExpandedEntity expEntity = new ExpandedEntity(entity);
-
 
324
		return expEntity;
-
 
325
	}
-
 
326
	
-
 
327
	
-
 
328
	/**
-
 
329
	 * Returns list of borrowed slides
-
 
330
	 * 
-
 
331
	 * @param entity
-
 
332
	 * @return list of borrowed slides
-
 
333
	 */
-
 
334
	public static List<Slide> getBorrowedSlides(Entity entity) {
-
 
335
		List<Slide> borrowedSlides = new ArrayList<Slide>();
-
 
336
		
-
 
337
		List<Slide> slides = entity.getSlides();
-
 
338
		
-
 
339
		for(Slide slide : slides) {
-
 
340
			if(slide.isBorrowed()) {
-
 
341
				borrowedSlides.add(slide);
-
 
342
			}
-
 
343
		}
-
 
344
		
-
 
345
		return borrowedSlides;
-
 
346
	}
-
 
347
	
-
 
348
	/**
-
 
349
	 * Returns first parent slide with matching label
-
 
350
	 * 
-
 
351
	 * @param expEntity2
-
 
352
	 * @param slideLabel
-
 
353
	 * @return Null if not found
-
 
354
	 */
-
 
355
	public static ExpandedSlide getParentExpandedSlide(ExpandedEntity expEntity2, String slideLabel) {
-
 
356
		
-
 
357
		ExpandedSlide matchingSlide = null;
-
 
358
		List<ExpandedSlide> expSlides = expEntity2.getExpandedSlides();
-
 
359
		
-
 
360
		for(ExpandedSlide expSlide : expSlides) {
-
 
361
			if(expSlide.getSlideDefinition().getLabel().equals(slideLabel)) {
-
 
362
				matchingSlide = expSlide;
-
 
363
				break;
-
 
364
			}
-
 
365
		}
-
 
366
		
-
 
367
		return matchingSlide;
-
 
368
	}
-
 
369
 
168
}
370
}