Mercurial > hg > ismi-richfaces
view src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/MisidentificationTable.java @ 121:6f0e9a333c15
misidentification of witness mostly works now.
author | casties |
---|---|
date | Mon, 09 Jan 2017 20:37:29 +0100 |
parents | 71638720fe2f |
children | fb3cb7d70f66 |
line wrap: on
line source
package de.mpiwg.itgroup.ismi.util.guiComponents; import java.util.ArrayList; import java.util.List; import javax.faces.event.ActionEvent; import org.apache.log4j.Logger; import org.mpi.openmind.repository.bo.Entity; import de.mpiwg.itgroup.ismi.auxObjects.ListenerObject; import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean; import de.mpiwg.itgroup.ismi.utils.SelectableObject; public class MisidentificationTable extends AbstractISMIBean { private static final long serialVersionUID = -2756216426560705498L; private static Logger logger = Logger.getLogger(MisidentificationTable.class); private List<SelectableObject<Misidentification>> list = new ArrayList<SelectableObject<Misidentification>>(); private Misidentification misident; private ListenerObject lo; //private String attName; //private String oc; public MisidentificationTable(){ lo = new ListenerObject(PERSON, "name_translit"); } public void listenerRemove(ActionEvent event){ List<SelectableObject<Misidentification>> toDelete = new ArrayList<SelectableObject<Misidentification>>(); for(SelectableObject<Misidentification> so : this.list){ if(so.isSelected()){ toDelete.add(so); } } for(SelectableObject<Misidentification> so : toDelete){ this.list.remove(so); } } public void listenerEditRef(ActionEvent event){ SelectableObject<Misidentification> so = (SelectableObject<Misidentification>)getRequestBean("item"); if(so != null){ this.misident = so.getObj(); } } public void listenerSaveRef(ActionEvent event){ this.misident = null; } public void listenerCancel(ActionEvent event){ //@TODO } public void listenerCreate(ActionEvent event) { Entity ent = this.lo.entity; if(ent != null & ent.isPersistent()){ // FIXME: where to get title? this.create(null, null, ent); } } public void load(Entity misattEntity){ if(!containsEntity(misattEntity)){ //TODO sort //Collections.sort(this.misattList); try { this.list.add(new SelectableObject<Misidentification>(Misidentification.load(misattEntity, getWrapper(), getUserName()))); } catch (Exception e) { addErrorMsg(e.getMessage()); logger.error(e); } }else{ addGeneralMsg("This entity has been already inserted!"); } } public void create(String title, String title_translit, Entity person){ try { this.list.add(new SelectableObject<Misidentification>(Misidentification.create(title, title_translit, person, getWrapper(), getUserName()))); } catch (Exception e) { addErrorMsg(e.getMessage()); logger.error(e); } } private boolean containsEntity(Entity ent){ for(SelectableObject<Misidentification> so : this.list){ if(so.getObj().getPerson() != null && so.getObj().getPerson().getId().equals(ent.getId())){ return true; } } return false; } /* public void listenerChanged(ValueChangeEvent event) { this.lo = changeListener(event, lo, this.oc, this.attName); if(lo.entity != null && lo.entity.isPersistent()){ lo.statusImage.setStatus(StatusImage.STATUS_OK); }else{ lo.statusImage.setStatus(StatusImage.STATUS_UNSET); } } */ /** * Save all misidentifications. * * @param text * @return * @throws Exception */ public Entity saveMisidentifications(Entity text) throws Exception{ for(Misidentification misatt : this.getMisidentList()){ text = misatt.saveAndGetMisidentification(text); } return text; } private List<Misidentification> getMisidentList() { List<Misidentification> list = new ArrayList<Misidentification>(); for(SelectableObject<Misidentification> so : this.list){ list.add(so.getObj()); } return list; } public List<SelectableObject<Misidentification>> getList() { return list; } public void setList(List<SelectableObject<Misidentification>> list) { this.list = list; } public Misidentification getMisident() { return misident; } public void setMisident(Misidentification misident) { this.misident = misident; } public ListenerObject getLo() { return lo; } public void setLo(ListenerObject lo) { this.lo = lo; } }