Subversion Repositories SmartDukaan

Rev

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

Rev 250 Rev 310
Line 13... Line 13...
13
import in.shop2020.metamodel.definitions.Catalog;
13
import in.shop2020.metamodel.definitions.Catalog;
14
import in.shop2020.metamodel.definitions.Category;
14
import in.shop2020.metamodel.definitions.Category;
15
import in.shop2020.metamodel.definitions.CompositeDefinition;
15
import in.shop2020.metamodel.definitions.CompositeDefinition;
16
import in.shop2020.metamodel.definitions.CompositePartDefinition;
16
import in.shop2020.metamodel.definitions.CompositePartDefinition;
17
import in.shop2020.metamodel.definitions.DefinitionsContainer;
17
import in.shop2020.metamodel.definitions.DefinitionsContainer;
-
 
18
import in.shop2020.metamodel.definitions.EditorialImportance;
18
import in.shop2020.metamodel.definitions.EntityContainer;
19
import in.shop2020.metamodel.definitions.EntityContainer;
19
import in.shop2020.metamodel.definitions.FeatureDefinition;
20
import in.shop2020.metamodel.definitions.FeatureDefinition;
20
import in.shop2020.metamodel.definitions.SlideDefinition;
21
import in.shop2020.metamodel.definitions.SlideDefinition;
21
import in.shop2020.metamodel.definitions.SlideFeatureDefinition;
22
import in.shop2020.metamodel.definitions.SlideFeatureDefinition;
22
import in.shop2020.metamodel.util.ExpandedBullet;
23
import in.shop2020.metamodel.util.ExpandedBullet;
Line 186... Line 187...
186
			if(inputSlideDefIDs != null && inputSlideDefIDs.length > 0) {
187
			if(inputSlideDefIDs != null && inputSlideDefIDs.length > 0) {
187
				try {
188
				try {
188
					inputSlideDefID = Long.parseLong(inputSlideDefIDs[0]);
189
					inputSlideDefID = Long.parseLong(inputSlideDefIDs[0]);
189
				} catch (NumberFormatException nfe) {}
190
				} catch (NumberFormatException nfe) {}
190
			}
191
			}
-
 
192
			long categoryID = this.getEntity(entityID).getCategoryID();
191
 
193
			
-
 
194
			log.info("Entity ID:" + entityID + "   CategoryID " + categoryID );
-
 
195
			//Changed to make correct order of borrowed slides 
192
			List<Long> slideDefIDs = CreationUtils.getSlideSequence(entityID);
196
			List<Long> slideDefIDs = CreationUtils.getSlideSequence(entityID, categoryID);
-
 
197
			
193
			log.info("slideDefIDs:" + slideDefIDs);
198
			log.info("slideDefIDs:" + slideDefIDs);
194
			
199
			
195
			// Edit the entity from a specific slide
200
			// Edit the entity from a specific slide
196
			if(slideDefIDs != null && inputSlideDefID != 0L) {
201
			if(slideDefIDs != null && inputSlideDefID != 0L) {
197
				
202
				
Line 408... Line 413...
408
				
413
				
409
				// Create new instance and override existing
414
				// Create new instance and override existing
410
				Slide currentSlide = this.createSlide(currentSlideDefID);
415
				Slide currentSlide = this.createSlide(currentSlideDefID);
411
				
416
				
412
				entity.addSlide(currentSlide);
417
				entity.addSlide(currentSlide);
413
				
-
 
-
 
418
				long categoryID = this.getEntity().getCategoryID();
414
				List<Long> orderedSlideIDs = 
419
				List<Long> orderedSlideIDs = 
415
					CreationUtils.getSlideSequence(entityID);
420
					CreationUtils.getSlideSequence(entityID, categoryID);
416
				
421
				
417
				if(orderedSlideIDs != null) {
422
				if(orderedSlideIDs != null) {
418
					entity.reorderSlides(orderedSlideIDs);
423
					entity.reorderSlides(orderedSlideIDs);
419
				}
424
				}
420
				
425
				
Line 425... Line 430...
425
			
430
			
426
			// Skip will delete current slide from entity
431
			// Skip will delete current slide from entity
427
			else if(skip && currentSlideDefID != 0L) {
432
			else if(skip && currentSlideDefID != 0L) {
428
				Entity entity = this.expEntity.getEntity();
433
				Entity entity = this.expEntity.getEntity();
429
				entity.removeSlide(currentSlideDefID);
434
				entity.removeSlide(currentSlideDefID);
430
				
-
 
-
 
435
				long categoryID = this.getEntity().getCategoryID();
431
				List<Long> orderedSlideIDs = 
436
				List<Long> orderedSlideIDs = 
432
					CreationUtils.getSlideSequence(entityID);
437
					CreationUtils.getSlideSequence(entityID, categoryID);
433
				
438
				
434
				if(orderedSlideIDs != null) {
439
				if(orderedSlideIDs != null) {
435
					entity.reorderSlides(orderedSlideIDs);
440
					entity.reorderSlides(orderedSlideIDs);
436
				}
441
				}
437
				
442
				
Line 720... Line 725...
720
			
725
			
721
			String featureDefIDString = 
726
			String featureDefIDString = 
722
				new Long(featureDefinitionID).toString();
727
				new Long(featureDefinitionID).toString();
723
			
728
			
724
			Feature feature = new Feature(featureDefinitionID);
729
			Feature feature = new Feature(featureDefinitionID);
725
			
730
 
726
			// Bullets
-
 
727
			List<Bullet> bullets = new ArrayList<Bullet>();
-
 
728
			FeatureDefinition featureDef = defs.getFeatureDefinition(
731
			FeatureDefinition featureDef = defs.getFeatureDefinition(
729
					featureDefinitionID);
732
					featureDefinitionID);
730
			log.info("featureDef:" + featureDef);
733
			log.info("featureDef:" + featureDef);
731
			
734
			
732
			ExpandedFeatureDefinition expFeatureDef = 
735
			ExpandedFeatureDefinition expFeatureDef = 
733
				new ExpandedFeatureDefinition(featureDef);
736
				new ExpandedFeatureDefinition(featureDef);
734
			
737
			
735
			ExpandedBulletDefinition expBulletDef = 
738
			ExpandedBulletDefinition expBulletDef = 
736
				expFeatureDef.getExpandedBulletDefinition();
739
				expFeatureDef.getExpandedBulletDefinition();
737
			
740
			
-
 
741
			boolean isBlank = false;
-
 
742
			
-
 
743
			// Check if feature has no bullets
-
 
744
			// Composite
-
 
745
			if(expBulletDef.isComposite()) {
-
 
746
				CompositeDefinition compositeDef = (CompositeDefinition)
-
 
747
					expBulletDef.getDatatypeDefinition(); 
-
 
748
				
-
 
749
				List<CompositePartDefinition> compositeParts = 
-
 
750
					compositeDef.getCompositePartDefinitions();
-
 
751
				
-
 
752
				boolean allPartsBlank = true;
-
 
753
				for(int j=0;j<compositeParts.size();j++) {
-
 
754
					String[] partValues = this.reqparams.get(
-
 
755
							featureDefIDString + "_" + (j + 1));
-
 
756
 
-
 
757
					if(partValues != null && partValues.length > 0) {
-
 
758
						allPartsBlank = false;
-
 
759
					}
-
 
760
				}
-
 
761
				
-
 
762
				isBlank = allPartsBlank;
-
 
763
			}
-
 
764
			
-
 
765
			// Enumerated and Primitive
-
 
766
			else {
-
 
767
				String[] bulletValues =	this.reqparams.get(featureDefIDString);
-
 
768
				if(bulletValues == null || bulletValues.length == 0) {
-
 
769
					isBlank = true;
-
 
770
				}
-
 
771
			}
-
 
772
 
-
 
773
			// Has no bullets
-
 
774
			if(isBlank) {
-
 
775
 
-
 
776
				// Mandatory 
-
 
777
				if(slideFeatureDef.getEditorialImportance() == 
-
 
778
					EditorialImportance.MANDATORY) {		
-
 
779
					features.add(feature);
-
 
780
				}
-
 
781
				
-
 
782
				continue;
-
 
783
			}
-
 
784
			
-
 
785
			// Bullets
-
 
786
			List<Bullet> bullets = new ArrayList<Bullet>();
-
 
787
			
738
			// Collect unit
788
			// Collect unit
739
			String[] unitIDs = this.reqparams.get(featureDefIDString + "_unit");
789
			String[] unitIDs = this.reqparams.get(featureDefIDString + "_unit");
740
			long unitID = 0L;
790
			long unitID = 0L;
741
			if(unitIDs != null && unitIDs.length > 0) {
791
			if(unitIDs != null && unitIDs.length > 0) {
742
				unitID = Long.parseLong(unitIDs[0]);
792
				unitID = Long.parseLong(unitIDs[0]);
Line 775... Line 825...
775
			}
825
			}
776
			
826
			
777
			// Enumerated
827
			// Enumerated
778
			else if(expBulletDef.isEnumerated()) {
828
			else if(expBulletDef.isEnumerated()) {
779
				log.info("Enumerated");
829
				log.info("Enumerated");
780
 
-
 
781
				String[] bulletValues = this.reqparams.get(featureDefIDString);
-
 
782
				if(bulletValues == null || bulletValues.length == 0) {
-
 
783
					continue;
-
 
784
				}
-
 
785
				
830
				
-
 
831
				String[] bulletValues = this.reqparams.get(featureDefIDString);
786
				log.info("bulletValues:" + Arrays.toString(bulletValues));
832
				log.info("bulletValues:" + Arrays.toString(bulletValues));
787
 
833
 
788
				
834
				
789
				for(int i=0;i<bulletValues.length;i++) {
835
				for(int i=0;i<bulletValues.length;i++) {
790
					EnumDataObject enumDataObject = 
836
					EnumDataObject enumDataObject = 
Line 801... Line 847...
801
			}
847
			}
802
			
848
			
803
			// Primitive
849
			// Primitive
804
			else {
850
			else {
805
				log.info("Primitive");
851
				log.info("Primitive");
806
 
-
 
807
				String[] bulletValues = this.reqparams.get(featureDefIDString);
-
 
808
				if(bulletValues == null || bulletValues.length == 0) {
-
 
809
					continue;
-
 
810
				}
-
 
811
				
852
				
-
 
853
				String[] bulletValues = this.reqparams.get(featureDefIDString);
812
				log.info("bulletValues:" + Arrays.toString(bulletValues));
854
				log.info("bulletValues:" + Arrays.toString(bulletValues));
813
				
855
				
814
				for(int i=0;i<bulletValues.length;i++) {
856
				for(int i=0;i<bulletValues.length;i++) {
815
					Bullet bullet = new Bullet(
857
					Bullet bullet = new Bullet(
816
							new PrimitiveDataObject(bulletValues[i]));
858
							new PrimitiveDataObject(bulletValues[i]));
Line 1387... Line 1429...
1387
	 * @return
1429
	 * @return
1388
	 */
1430
	 */
1389
	public List<String[]> getSlides() {
1431
	public List<String[]> getSlides() {
1390
		try {
1432
		try {
1391
			long entityID = Long.parseLong(this.getId());
1433
			long entityID = Long.parseLong(this.getId());
-
 
1434
			long categoryID = this.getEntity().getCategoryID();
1392
			List<Long> slideDefIDs = CreationUtils.getSlideSequence(entityID);
1435
			List<Long> slideDefIDs = CreationUtils.getSlideSequence(entityID, categoryID);
1393
			
1436
			
1394
			List<String[]> slideData = new ArrayList<String[]>();
1437
			List<String[]> slideData = new ArrayList<String[]>();
1395
			
1438
			
1396
			DefinitionsContainer defs = this.getDefinitionsContainer();
1439
			DefinitionsContainer defs = this.getDefinitionsContainer();
1397
			for(Long slideDefID : slideDefIDs) {
1440
			for(Long slideDefID : slideDefIDs) {