diff src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/MisattributionTable.java @ 91:d172201d24ad

more comments and refactorings.
author casties
date Wed, 12 Oct 2016 20:50:30 +0200
parents src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/EndNoteMisattributionTable.java@2e911857a759
children ca36b24a22f7
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/MisattributionTable.java	Wed Oct 12 20:50:30 2016 +0200
@@ -0,0 +1,158 @@
+package de.mpiwg.itgroup.ismi.util.guiComponents;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.faces.event.ActionEvent;
+
+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 MisattributionTable extends AbstractISMIBean{
+	private static final long serialVersionUID = -2756216426560705499L;
+
+	private List<SelectableObject<Misattribution>> list = new ArrayList<SelectableObject<Misattribution>>();
+	
+	private Misattribution misatt;
+	
+	private ListenerObject lo = new ListenerObject(PERSON, "name_translit");
+	//private String attName;
+	//private String oc;
+	
+	public MisattributionTable(){
+		/*
+		this.attName = attName;
+		this.oc = oc;
+		*/
+	}
+	
+	public void listenerRemove(ActionEvent event){		
+		List<SelectableObject<Misattribution>> toDelete = new ArrayList<SelectableObject<Misattribution>>();
+		
+		for(SelectableObject<Misattribution> so : this.list){
+			if(so.isSelected()){
+				toDelete.add(so);
+			}
+		}
+		for(SelectableObject<Misattribution> so : toDelete){
+			this.list.remove(so);
+		}
+	}
+	
+	public void listenerEditRef(ActionEvent event){
+		SelectableObject<Misattribution> so = 
+			(SelectableObject<Misattribution>)getRequestBean("item");
+		if(so != null){
+			this.misatt = so.getObj();
+		}
+	}
+	
+	public void listenerSaveRef(ActionEvent event){
+		this.misatt = null;
+	}
+	
+	public void listenerCancel(ActionEvent event){
+		//@TODO
+	}
+	
+	public void listenerCreate(ActionEvent event){
+		if(this.lo.entity != null & this.lo.entity.isPersistent()){
+			this.create(this.lo.entity);	
+		}
+	}
+	
+	public void load(Entity misattEntity){
+		if(!containsEntity(misattEntity)){
+			//TODO sort
+			//Collections.sort(this.misattList);
+			try {
+				this.list.add(new SelectableObject<Misattribution>(Misattribution.load(misattEntity, getWrapper(), getUserName())));
+			} catch (Exception e) {
+				addErrorMsg(e.getMessage());
+				e.printStackTrace();
+			}
+		}else{
+			addGeneralMsg("This entity has been already inserted!");
+		}
+	}
+	
+	public void create(Entity person){
+		try {
+			this.list.add(new SelectableObject<Misattribution>(Misattribution.create(person, getWrapper(), getUserName())));
+		} catch (Exception e) {
+			addErrorMsg(e.getMessage());
+			e.printStackTrace();
+		}
+	}
+	
+	private boolean containsEntity(Entity ent){
+		for(SelectableObject<Misattribution> 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 misattributions.
+	 * 
+	 * @param text
+	 * @return
+	 * @throws Exception
+	 */
+	public Entity saveMisattributions(Entity text) throws Exception{
+		for(Misattribution misatt : this.getMisattList()){
+			text = misatt.saveAndGetMisattribution(text);
+		}
+		return text;
+	}
+	
+	
+	private List<Misattribution> getMisattList(){
+		List<Misattribution> list = new ArrayList<Misattribution>();
+		for(SelectableObject<Misattribution> so : this.list){
+			list.add(so.getObj());
+		}
+		return list;
+	}
+	
+	public List<SelectableObject<Misattribution>> getList() {
+		return list;
+	}
+
+	public void setList(List<SelectableObject<Misattribution>> list) {
+		this.list = list;
+	}
+
+	public Misattribution getMisatt() {
+		return misatt;
+	}
+
+	public void setMisatt(Misattribution misatt) {
+		this.misatt = misatt;
+	}
+
+	public ListenerObject getLo() {
+		return lo;
+	}
+
+	public void setLo(ListenerObject lo) {
+		this.lo = lo;
+	}
+}