diff src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentCityBean.java @ 107:99f9a55a4957

add alias to place entry form.
author casties
date Mon, 07 Nov 2016 19:59:49 +0100
parents 71efad4fe975
children 28a0c2726466
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentCityBean.java	Mon Nov 07 17:04:43 2016 +0100
+++ b/src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentCityBean.java	Mon Nov 07 19:59:49 2016 +0100
@@ -15,6 +15,7 @@
 import org.mpi.openmind.repository.bo.Relation;
 
 import de.mpiwg.itgroup.ismi.auxObjects.ListenerObject;
+import de.mpiwg.itgroup.ismi.util.guiComponents.EntityList;
 import de.mpiwg.itgroup.ismi.utils.SelectableObject;
 
 
@@ -26,8 +27,9 @@
 	private List<SelectItem> suggestedTypes;
 	
 	private List<SelectableObject<Entity>> placesPartOfThis;
-	private List<SelectableObject<Entity>> peopleLivedIn;
-	
+	//private List<SelectableObject<Entity>> peopleLivedIn;
+    private EntityList aliasList;
+		
 	public CurrentCityBean() {
 		this.reset();
 	}
@@ -39,7 +41,8 @@
 		this.suggestedTypes = new ArrayList<SelectItem>();
 		
 		this.placesPartOfThis = new ArrayList<SelectableObject<Entity>>();
-		this.peopleLivedIn = new ArrayList<SelectableObject<Entity>>();
+		//this.peopleLivedIn = new ArrayList<SelectableObject<Entity>>();
+		this.aliasList = new EntityList(ALIAS, "alias", getWrapper(), getUserName());
 		
 		//setDefinition(getDefinition(PLACE));
 		setDefObjectClass(PLACE);
@@ -92,6 +95,13 @@
                 this.placesPartOfThis.add(new SelectableObject<Entity>(place, label));
             }
 
+            /*
+             * create list of alias names of this place
+             */
+            for (Entity alias : getWrapper().getSourcesForTargetRelation(city, is_alias_name_of, ALIAS, -1)) {
+                this.aliasList.add(alias);
+            }
+
             // load references
             this.loadEndNoteRefs();
 
@@ -121,6 +131,7 @@
 			
 			String cityName = (this.entity.getAttributeByName(name) != null) ? this.entity.getAttributeByName(name).getValue() : "";
 			if(StringUtils.isNotEmpty(cityName)){
+			    // check if name is unique
 				if(!checkUnityCity(cityName, (isSelectedSaveAsNew()) ? null : this.entity.getId(), this.getCountryLo().entity)){
 					this.renderUnityCheckerDialog();
 					this.setSelectedSaveAsNew(false);
@@ -148,6 +159,13 @@
 			}
 			*/
 			
+            //ALIAS -> is_alias_name_of -> PERSON
+            this.entity.removeAllTargetRelationsByName(is_alias_name_of);
+            for(Entity alias : this.aliasList.getEntities()){
+                Entity alias0 = getWrapper().getEntityByIdWithContent(alias.getId());
+                new Relation(alias0, this.entity, is_alias_name_of);
+            }
+            
 			//REFERENCE -> is_reference_of -> THIS
 			//this.entity = this.prepareReferencesToSave(this.entity);
 			this.prepareEndNoteRefs2Save();		
@@ -188,13 +206,13 @@
 		}
 	}
 	
-	public void listenerRemovePeopleLivedIn(){
+	/* public void listenerRemovePeopleLivedIn(){
 		for(SelectableObject<Entity> so : new ArrayList<SelectableObject<Entity>>(this.peopleLivedIn)){
 			if(so.isSelected()){
 				this.peopleLivedIn.remove(so);
 			}
 		}
-	}
+	} */
 	
     public void removeThisCountryAction(ActionEvent event) {
         if (this.getCountryLo().entity != null) {
@@ -223,11 +241,25 @@
 		this.placesPartOfThis = placesPartOfThis;
 	}
 
-	public List<SelectableObject<Entity>> getPeopleLivedIn() {
+	/* public List<SelectableObject<Entity>> getPeopleLivedIn() {
 		return peopleLivedIn;
 	}
 
 	public void setPeopleLivedIn(List<SelectableObject<Entity>> peopleLivedIn) {
 		this.peopleLivedIn = peopleLivedIn;
-	}
+	} */
+
+    /**
+     * @return the aliasList
+     */
+    public EntityList getAliasList() {
+        return aliasList;
+    }
+
+    /**
+     * @param aliasList the aliasList to set
+     */
+    public void setAliasList(EntityList aliasList) {
+        this.aliasList = aliasList;
+    }
 }