Subversion Repositories SmartDukaan

Rev

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

Rev 1081 Rev 1152
Line 16... Line 16...
16
import in.shop2020.metamodel.definitions.Category;
16
import in.shop2020.metamodel.definitions.Category;
17
import in.shop2020.metamodel.definitions.CompositeDefinition;
17
import in.shop2020.metamodel.definitions.CompositeDefinition;
18
import in.shop2020.metamodel.definitions.CompositePartDefinition;
18
import in.shop2020.metamodel.definitions.CompositePartDefinition;
19
import in.shop2020.metamodel.definitions.DefinitionsContainer;
19
import in.shop2020.metamodel.definitions.DefinitionsContainer;
20
import in.shop2020.metamodel.definitions.EditorialImportance;
20
import in.shop2020.metamodel.definitions.EditorialImportance;
21
import in.shop2020.metamodel.definitions.EntityContainer;
-
 
22
import in.shop2020.metamodel.definitions.FeatureDefinition;
21
import in.shop2020.metamodel.definitions.FeatureDefinition;
23
import in.shop2020.metamodel.definitions.SlideDefinition;
22
import in.shop2020.metamodel.definitions.SlideDefinition;
24
import in.shop2020.metamodel.definitions.SlideFeatureDefinition;
23
import in.shop2020.metamodel.definitions.SlideFeatureDefinition;
25
import in.shop2020.metamodel.util.ExpandedBullet;
24
import in.shop2020.metamodel.util.ExpandedBullet;
26
import in.shop2020.metamodel.util.ExpandedBulletDefinition;
25
import in.shop2020.metamodel.util.ExpandedBulletDefinition;
27
import in.shop2020.metamodel.util.ExpandedEntity;
26
import in.shop2020.metamodel.util.ExpandedEntity;
28
import in.shop2020.metamodel.util.ExpandedFeature;
27
import in.shop2020.metamodel.util.ExpandedFeature;
29
import in.shop2020.metamodel.util.ExpandedFeatureDefinition;
28
import in.shop2020.metamodel.util.ExpandedFeatureDefinition;
30
import in.shop2020.metamodel.util.ExpandedSlide;
29
import in.shop2020.metamodel.util.ExpandedSlide;
31
import in.shop2020.metamodel.util.ExpandedSlideDefinition;
30
import in.shop2020.metamodel.util.ExpandedSlideDefinition;
32
import in.shop2020.metamodel.util.SequenceGenerator;
-
 
33
import in.shop2020.model.v1.catalog.Item;
31
import in.shop2020.model.v1.catalog.Item;
34
import in.shop2020.model.v1.catalog.status;
32
import in.shop2020.model.v1.catalog.status;
35
import in.shop2020.thrift.clients.CatalogServiceClient;
33
import in.shop2020.thrift.clients.CatalogServiceClient;
36
import in.shop2020.util.Utils;
34
import in.shop2020.util.Utils;
37
 
35
 
Line 86... Line 84...
86
	
84
	
87
	private ExpandedEntity expEntity;
85
	private ExpandedEntity expEntity;
88
	
86
	
89
	private Entity entity = null;
87
	private Entity entity = null;
90
	
88
	
91
	private Collection<Entity> entities;
-
 
92
 
-
 
93
	private Map<Long, EntityState> entitiesState;
89
	private Map<Long, EntityState> entitiesState;
94
	
90
	
95
	private EntityContainer ents = Catalog.getInstance().getEntityContainer();
-
 
96
	
-
 
97
	private DefinitionsContainer defs = Catalog.getInstance().getDefinitionsContainer();
91
	private DefinitionsContainer defs = Catalog.getInstance().getDefinitionsContainer();
98
	
92
	
99
	private long firstSlideDefID;
93
	private long firstSlideDefID;
100
	
94
	
101
	private ExpandedSlideDefinition expSlideDef;
95
	private ExpandedSlideDefinition expSlideDef;
Line 141... Line 135...
141
    }
135
    }
142
	
136
	
143
    // GET /entity
137
    // GET /entity
144
    public HttpHeaders index() {
138
    public HttpHeaders index() {
145
    	log.info("EntityController.index");
139
    	log.info("EntityController.index");
146
    	createEntitiesForItemsInProcess();
140
    	
147
    	try {
141
    	try {
148
			this.entities = CreationUtils.getEntities().values();
-
 
149
			this.entitiesState = CreationUtils.getEntitiesState();
142
			this.entitiesState = CreationUtils.getEntitiesState();
-
 
143
			//Must be called after getting entities state
150
			
144
			createEntitiesForItemsInProcess();
151
		} catch (Exception e) {
145
		} catch (Exception e) {
152
			log.error(CreationUtils.getStackTrace(e));
146
			log.error(CreationUtils.getStackTrace(e));
153
			this.setErrorString(CreationUtils.getStackTrace(e));
147
			this.setErrorString(CreationUtils.getStackTrace(e));
154
			return new DefaultHttpHeaders("fatal");
148
			return new DefaultHttpHeaders("fatal");
155
		}
149
		}
Line 163... Line 157...
163
    	
157
    	
164
    	if(!UserManager.getUserManager().canCreate(getUsername())){
158
    	if(!UserManager.getUserManager().canCreate(getUsername())){
165
			return "success";
159
			return "success";
166
		}
160
		}
167
    	
161
    	
168
		SequenceGenerator sg;
-
 
169
		try {
162
		try {
170
			sg = SequenceGenerator.getInstance();
163
			// Generate new entityID from cms
-
 
164
			CatalogServiceClient catalogServiceClient = new CatalogServiceClient();	
171
			long entityID = sg.getNextSequence(SequenceGenerator.ENTITY);
165
			long entityID =  catalogServiceClient.getClient().generateNewEntityID();
172
 
166
			
173
			String categoryID = this.reqparams.get("category")[0];
167
			String categoryID = this.reqparams.get("category")[0];
174
			Entity entity = new Entity(entityID, Long.parseLong(categoryID));
168
			Entity entity = new Entity(entityID, Long.parseLong(categoryID));
175
 
169
 
176
			entity.setBrand(this.reqparams.get("brand")[0]);
170
			entity.setBrand(this.reqparams.get("brand")[0]);
177
			entity.setModelName(this.reqparams.get("modelname")[0]);
171
			entity.setModelName(this.reqparams.get("modelname")[0]);
178
			entity.setModelNumber(this.reqparams.get("modelnumber")[0]);
172
			entity.setModelNumber(this.reqparams.get("modelnumber")[0]);
179
			
173
			
180
			EntityState entityState = new EntityState(entityID, getUsername());
174
			EntityState entityState = new EntityState(entityID, Long.parseLong(categoryID), getUsername());
-
 
175
			entity.setBrand(this.reqparams.get("brand")[0]);
-
 
176
			entity.setModelName(this.reqparams.get("modelname")[0]);
-
 
177
			entity.setModelNumber(this.reqparams.get("modelnumber")[0]);
-
 
178
 
181
			
179
			
182
			CreationUtils.createEntity(entity, entityState);
180
			CreationUtils.createEntity(entity, entityState);
183
			
181
			
184
	    	this.setId(new Long(entityID).toString());
182
	    	this.setId(new Long(entityID).toString());
185
		} catch (Exception e) {
183
		} catch (Exception e) {
Line 335... Line 333...
335
				entity.setCategoryID(Long.parseLong(categoryID));
333
				entity.setCategoryID(Long.parseLong(categoryID));
336
				entity.setBrand(this.reqparams.get("brand")[0]);
334
				entity.setBrand(this.reqparams.get("brand")[0]);
337
				entity.setModelName(this.reqparams.get("modelname")[0]);
335
				entity.setModelName(this.reqparams.get("modelname")[0]);
338
				entity.setModelNumber(this.reqparams.get("modelnumber")[0]);
336
				entity.setModelNumber(this.reqparams.get("modelnumber")[0]);
339
				
337
				
-
 
338
				EntityState entityState = CreationUtils.getEntityState(entity.getID());
-
 
339
				
-
 
340
				entityState.setCategoryID(Long.parseLong(categoryID));
-
 
341
				entityState.setBrand(this.reqparams.get("brand")[0]);
-
 
342
				entityState.setModelName(this.reqparams.get("modelname")[0]);
-
 
343
				entityState.setModelNumber(this.reqparams.get("modelnumber")[0]);
-
 
344
				
340
				log.info("p3");
345
				log.info("p3");
341
				CreationUtils.updateEntity(entity);
346
				CreationUtils.updateEntity(entity);
-
 
347
				CreationUtils.updateEntityState(entityState);
342
				//this.updateEntity(entity);
348
				//this.updateEntity(entity);
343
				
349
				
344
				this.redirectURL = "/slides/" + this.getId() + "/edit";
350
				this.redirectURL = "/slides/" + this.getId() + "/edit";
345
				return "redirect";
351
				return "redirect";
346
			}
352
			}
Line 1058... Line 1064...
1058
	}
1064
	}
1059
 
1065
 
1060
	/**
1066
	/**
1061
	 * @return the entities
1067
	 * @return the entities
1062
	 */
1068
	 */
1063
	public Collection<Entity> getEntities() {
-
 
1064
		return entities;
-
 
1065
	}
-
 
1066
 
-
 
1067
	/**
-
 
1068
	 * @return the entities
-
 
1069
	 */
-
 
1070
	public Map<Long, List<Entity>> getEntitiesByCategory() {
1069
	public Map<Long, List<Entity>> getEntitiesByCategory() {
1071
		return catEntities;
1070
		return catEntities;
1072
	}
1071
	}
1073
 
1072
 
1074
		/**
1073
		/**
Line 1082... Line 1081...
1082
			CatalogServiceClient csc = new CatalogServiceClient();
1081
			CatalogServiceClient csc = new CatalogServiceClient();
1083
			in.shop2020.model.v1.catalog.InventoryService.Client iclient = csc.getClient();
1082
			in.shop2020.model.v1.catalog.InventoryService.Client iclient = csc.getClient();
1084
			List<Item> items = iclient.getAllItemsByStatus(status.IN_PROCESS);
1083
			List<Item> items = iclient.getAllItemsByStatus(status.IN_PROCESS);
1085
			for(Item item: items){
1084
			for(Item item: items){
1086
				long entityID = item.getCatalogItemId();
1085
				long entityID = item.getCatalogItemId();
1087
				if(CreationUtils.getEntity(entityID) == null){
1086
				if(!this.entitiesState.containsKey(entityID)){
1088
					log.info("#### Going to add the entity with id: ####" + entityID);
1087
					log.info("#### Going to add the entity with id: ####" + entityID);
1089
					Entity entity = new Entity(entityID, -1);
1088
					Entity entity = new Entity(entityID, -1);
1090
					entity.setBrand(item.getBrand());
1089
					entity.setBrand(item.getBrand());
1091
					entity.setModelNumber(item.getModelNumber() + " (" + item.getProductGroup() + ")");
1090
					entity.setModelNumber(item.getModelNumber() + " (" + item.getProductGroup() + ")");
1092
					entity.setModelName((item.getModelName()==null) ? "" : item.getModelName());
1091
					entity.setModelName((item.getModelName()==null) ? "" : item.getModelName());
1093
					EntityState entityState = new EntityState(entityID, UserManager.getUserManager().getAdminName());
1092
					EntityState entityState = new EntityState(entityID, -1, UserManager.getUserManager().getAdminName());
-
 
1093
					entityState.setBrand(item.getBrand());
-
 
1094
					entityState.setModelNumber(item.getModelNumber() + " (" + item.getProductGroup() + ")");
-
 
1095
					entityState.setModelName((item.getModelName()==null) ? "" : item.getModelName());
1094
					CreationUtils.createEntity(entity, entityState);
1096
					CreationUtils.createEntity(entity, entityState);
1095
				}else
1097
				}else
1096
					log.info("###Everything went all right and we got an entity");
1098
					log.info("###Everything went all right and we got an entity");
1097
			}
1099
			}
1098
		} catch (Exception e) {
1100
		} catch (Exception e) {
Line 1382... Line 1384...
1382
	 * @throws Exception
1384
	 * @throws Exception
1383
	 */
1385
	 */
1384
	public ExpandedFeature getFeature(long featureDefinitionID) 
1386
	public ExpandedFeature getFeature(long featureDefinitionID) 
1385
		throws Exception {
1387
		throws Exception {
1386
		if(this.expSlide != null) {
1388
		if(this.expSlide != null) {
1387
			Feature feature = ents.getFeature(
-
 
1388
					this.expSlide, featureDefinitionID);
1389
			Feature feature = CreationUtils.getFeature(this.expSlide, featureDefinitionID);
1389
			
1390
			
1390
			if(feature == null) {
1391
			if(feature == null) {
1391
				return null;
1392
				return null;
1392
			}
1393
			}
1393
			return new ExpandedFeature(feature);
1394
			return new ExpandedFeature(feature);