/* Date: November 9, 2010 * Template: PluginScreenJavaTemplateGen.java.ftl * generator: org.molgenis.generators.ui.PluginScreenJavaTemplateGen 3.3.3 * * THIS FILE IS A TEMPLATE. PLEASE EDIT :-) */ package org.molgenis.animaldb.plugins.system; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.molgenis.animaldb.DeletedObservedValue; import org.molgenis.framework.db.Database; import org.molgenis.framework.db.DatabaseException; import org.molgenis.framework.ui.PluginModel; import org.molgenis.framework.ui.ScreenController; import org.molgenis.pheno.ObservedValue; import org.molgenis.util.Entity; import org.molgenis.util.Tuple; //import commonservice.CommonService; public class ErrorCorrectionPlugin extends PluginModel<Entity> { private static final long serialVersionUID = -366762636959036651L; // private CommonService ct = CommonService.getInstance(); private List<ObservedValue> valueList = new ArrayList<ObservedValue>(); private List<DeletedObservedValue> deletedValueList = new ArrayList<DeletedObservedValue>(); private int offset = 0; private int limit = 10; private int nrOfValues; public ErrorCorrectionPlugin(String name, ScreenController<?> parent) { super(name, parent); } public String getCustomHtmlHeaders() { return "<link rel=\"stylesheet\" style=\"text/css\" href=\"res/css/animaldb.css\">\n"; } @Override public String getViewName() { return "org_molgenis_animaldb_plugins_system_ErrorCorrectionPlugin"; } @Override public String getViewTemplate() { return "org/molgenis/animaldb/plugins/system/ErrorCorrectionPlugin.ftl"; } @Override public void handleRequest(Database db, Tuple request) { try { String action = request.getString("__action"); Date now = new Date(); if (action.equals("moveUpEnd")) { offset = 0; } if (action.equals("moveUp")) { offset = Math.max(0, offset - limit); } if (action.equals("moveDown")) { offset = Math.min(nrOfValues - limit, offset + limit); } if (action.equals("moveDownEnd")) { offset = nrOfValues - limit; } if (action.equals("deleteValues")) { List<ObservedValue> removalList = new ArrayList<ObservedValue>(); List<DeletedObservedValue> addList = new ArrayList<DeletedObservedValue>(); for (int i = 0; i < valueList.size(); i++) { if (request.getBool(Integer.toString(i)) != null) { ObservedValue val = valueList.get(i); removalList.add(val); DeletedObservedValue delVal = new DeletedObservedValue(); delVal.setEndtime(val.getEndtime()); delVal.setFeature_Id(val.getFeature_Id()); delVal.setInvestigation_Id(val.getInvestigation_Id()); delVal.setOntologyReference_Id(val.getOntologyReference_Id()); delVal.setProtocolApplication_Id(val.getProtocolApplication_Id()); delVal.setRelation_Id(val.getRelation_Id()); delVal.setTarget_Id(val.getTarget_Id()); delVal.setTime(val.getTime()); delVal.setValue(val.getValue()); delVal.setDeletionTime(now); delVal.setDeletedBy_Id(this.getLogin().getUserId()); addList.add(delVal); } } db.remove(removalList); db.add(addList); } if (action.equals("undeleteValues")) { List<DeletedObservedValue> removalList = new ArrayList<DeletedObservedValue>(); List<ObservedValue> addList = new ArrayList<ObservedValue>(); for (int i = 0; i < deletedValueList.size(); i++) { if (request.getBool(Integer.toString(i)) != null) { DeletedObservedValue val = deletedValueList.get(i); removalList.add(val); ObservedValue addVal = new ObservedValue(); addVal.setEndtime(val.getEndtime()); addVal.setFeature_Id(val.getFeature_Id()); addVal.setInvestigation_Id(val.getInvestigation_Id()); addVal.setOntologyReference_Id(val.getOntologyReference_Id()); addVal.setProtocolApplication_Id(val.getProtocolApplication_Id()); addVal.setRelation_Id(val.getRelation_Id()); addVal.setTarget_Id(val.getTarget_Id()); addVal.setTime(val.getTime()); addVal.setValue(val.getValue()); addList.add(addVal); } } db.remove(removalList); db.add(addList); } } catch (Exception e) { this.setError("Error: " + e.getMessage()); e.printStackTrace(); } } @Override public void reload(Database db) { try { this.nrOfValues = db.query(ObservedValue.class).count(); this.valueList = db.query(ObservedValue.class).sortDESC(ObservedValue.TIME).limit(limit).offset(offset) .find(); this.deletedValueList = db.query(DeletedObservedValue.class).sortDESC(DeletedObservedValue.TIME).find(); } catch (DatabaseException e) { this.setError("Error: " + e.getMessage()); e.printStackTrace(); } } public List<ObservedValue> getValueList() { return valueList; } public void setValueList(List<ObservedValue> valueList) { this.valueList = valueList; } public List<DeletedObservedValue> getDeletedValueList() { return deletedValueList; } public void setDeletedValueList(List<DeletedObservedValue> deletedValueList) { this.deletedValueList = deletedValueList; } public int getOffset() { return offset; } public void setOffset(int offset) { this.offset = offset; } public int getLimit() { return limit; } public void setLimit(int limit) { this.limit = limit; } public int getNrOfValues() { return nrOfValues; } public void setNrOfValues(int nrOfValues) { this.nrOfValues = nrOfValues; } }