Rev 198 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.creation.controllers;import java.io.PrintWriter;import java.io.StringWriter;import java.io.Writer;import java.util.Collection;import java.util.Map;import in.shop2020.metamodel.core.Entity;import in.shop2020.metamodel.definitions.EntityContainer;import in.shop2020.metamodel.util.ExpandedEntity;import in.shop2020.metamodel.util.SequenceGenerator;import in.shop2020.util.DBUtils;import in.shop2020.util.Utils;import org.apache.juli.logging.Log;import org.apache.juli.logging.LogFactory;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import org.apache.struts2.interceptor.ParameterAware;@Results({@Result(name="success", type="redirectAction",params = {"actionName" , "entity"})})public class EntityController implements ParameterAware {/****/private static Log log = LogFactory.getLog(EntityController.class);/****/private String id;private ExpandedEntity expEntity;private Collection<Entity> entities;private Map<String, String[]> reqparams;// GET /entitypublic HttpHeaders index() {log.info("EntityController.index");EntityContainer ents = new EntityContainer();try {this.entities = ents.getEntities().values();} catch (Exception e) {log.error(this.getStackTrace(e));}return new DefaultHttpHeaders("index").disableCaching();}// GET /entitypublic String create() {log.info("EntityController.create");SequenceGenerator sg;try {sg = SequenceGenerator.getInstance();long entityID = sg.getNextSequence(SequenceGenerator.ENTITY);String categoryID = this.reqparams.get("category")[0];Entity entity = new Entity(entityID, Long.parseLong(categoryID));entity.setBrand(this.reqparams.get("brand")[0]);entity.setModelName(this.reqparams.get("modelname")[0]);entity.setModelNumber(this.reqparams.get("modelnumber")[0]);EntityContainer entContainer = new EntityContainer();entContainer.addEntity(entity);DBUtils.store(entContainer.getEntities(), Utils.ENTITIES_DB_PATH +"entities" + ".ser");String entitiesbycategoryDBFile = Utils.ENTITIES_DB_PATH +"entitiesbycategory" + ".ser";DBUtils.store(entContainer.getEntitiesbyCategory(),entitiesbycategoryDBFile);this.setId(new Long(entityID).toString());} catch (Exception e) {log.error(this.getStackTrace(e));}return edit();}// GET /entity/1/editpublic String edit() {log.info("EntityController.edit");long entityID = Long.parseLong(this.getId());log.info("entityID:" + entityID);EntityContainer ents = new EntityContainer();try {this.expEntity = ents.getExpandedEntity(entityID);log.info("this.expEntity:" + this.expEntity);} catch (Exception e) {log.error(this.getStackTrace(e));}return "edit";}// GET /entity/newpublic String editNew() {log.info("EntityController.editNew");return "editNew";}// GET /entity/1public String update() {log.info("EntityController.update");return "?";}/*** @return the entities*/public Collection<Entity> getEntities() {return entities;}/*** @return the entities*/public ExpandedEntity getEntity() {return expEntity;}/**** @param id*/public void setId(String id) {this.id = id;}/****/public String getId() {return this.id;}@Overridepublic void setParameters(Map<String, String[]> reqmap) {log.info("setParameters:" + reqmap);this.reqparams = reqmap;}/**** @param aThrowable* @return*/private String getStackTrace(Throwable aThrowable) {final Writer result = new StringWriter();final PrintWriter printWriter = new PrintWriter(result);aThrowable.printStackTrace(printWriter);return result.toString();}}