// Path: src/java/se/agura/memorial/search/api/Graveyard.java
// public class Graveyard {
// 	private int id;
// 
// 	private String kGard; //  
// 
// 	private String Benamning; //	   
// 
// 	private int distriktID;
// 
// 	public Graveyard(int id, String kGard, String Benamning, int distriktID) {
// 		super();
// 
// 		this.id = id;
// 		this.kGard = kGard;
// 		this.Benamning = Benamning;
// 		this.distriktID = distriktID;
// 	}
// 
// 	public String getBenamning() {
// 		return Benamning;
// 	}
// 
// 	public void setBenamning(String benamning) {
// 		Benamning = benamning;
// 	}
// 
// 	public int getDistrikt_ID() {
// 		return distriktID;
// 	}
// 
// 	public void setDistrikt_ID(int distrikt_ID) {
// 		this.distriktID = distrikt_ID;
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getKGard() {
// 		return kGard;
// 	}
// 
// 	public void setKGard(String gard) {
// 		kGard = gard;
// 	}
// 	
// 	public int hashCode() {
// 		String tempKGard = getKGard();
// 		if ( tempKGard == null) {
// 			return getId() + getDistrikt_ID();
// 		}
// 		return getId() + getDistrikt_ID() + tempKGard.hashCode();
// 	}
// 	
// 	public boolean equals(Object object) {
// 		if (this == object) {
// 			return true;
// 		}
// 		if (object == null) {
// 			return false;
// 		}
// 		if (getClass() != object.getClass()) {
// 			return false;
// 		}	
// 		Graveyard graveyard = (Graveyard) object;
// 		String tempKGard = getKGard();
// 		String graveyardKGard = graveyard.getKGard();
// 		if (tempKGard == null && graveyardKGard == null) {
// 			return  (graveyard.getId() == getId() && graveyard.getDistrikt_ID() == getDistrikt_ID());
// 		}
// 		if (tempKGard == null || graveyardKGard == null) {
// 			return false;
// 		}
// 		return  (graveyard.getId() == getId() && graveyard.getDistrikt_ID() == getDistrikt_ID() && graveyardKGard.equals(tempKGard));
// 	}
// 
// }
// 
// Path: src/java/se/agura/memorial/search/api/ObituarySearch.java
// public interface ObituarySearch {
//               
// 	public Collection findGraves (
// 			           String firstName,
// 			           String lastName,
// 					   String personIdentifier,
// 					   CustomMemorialDate dateOfBirthFrom,
// 					   CustomMemorialDate dateOfBirthTo,			           
// 					   CustomMemorialDate dateOfDeathFrom,
// 					   CustomMemorialDate dateOfDeathTo,			           
// 			           String hometown,
// 			           String graveyard);
// 	
// 	public Collection getGraveyards();	
// 	
// 	public Grave findGrave(String graveId);	
// 	
// }
// 
// Path: src/java/se/agura/memorial/search/business/SearchFormSessionBean.java
// public class SearchFormSessionBean extends IBOSessionBean  implements SearchFormSession{
// 	
// 	private Integer databaseId = null;
// 	
// 	private String graveId = null;	
// 	
// 
// 	public SearchFormSessionBean(){}
// 
// 	
// 	
// 	public String getGraveId() {
// 		return graveId;
// 	}
// 	
// 
// 
// 
// 	public void setGraveId(String graveId) {
// 		this.graveId = graveId;
// 	}
// 	
// 
// 
// 
// 	public Integer getDatabaseId() {
// 		return databaseId;
// 	}
// 
// 	public void setDatabaseId(Integer databaseId) {
// 		this.databaseId = databaseId;
// 	}
// 
// }
// 
// Path: src/java/se/agura/memorial/search/business/SearchImplBroker.java
// public interface SearchImplBroker extends IBOService {
// 	/**
// 	 * @see se.agura.memorial.search.business.SearchImplBrokerBean#getSearch
// 	 */
// 	public ObituarySearch getSearch(int databaseConnId)
// 			throws java.rmi.RemoteException;
// 
// }


import java.rmi.RemoteException;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import se.agura.memorial.search.api.Graveyard;
import se.agura.memorial.search.api.ObituarySearch;
import se.agura.memorial.search.business.SearchFormSessionBean;
import se.agura.memorial.search.business.SearchImplBroker;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.presentation.IWContext;
package se.agura.memorial.search.presentation;





public class GraveyardConverter implements Converter {

	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2)
			throws ConverterException {

		Graveyard g = null;
		//g = (Graveyard) new SearchFormBackingBean.getGraveyards().get(arg2);
		
		
		/*
		 1. get current data base implementation id (from session bean)
		 2. get database graveyards
		 3. find appropriate graveyard by Id		 
		 */
		
		//1.
		FacesContext facesContext = FacesContext.getCurrentInstance();
		IWContext iwc = IWContext.getIWContext(facesContext);
		try {
			SearchFormSessionBean sb = (SearchFormSessionBean) IBOLookup.getSessionInstance(iwc, SearchFormSessionBean.class);
			
			//2.
			try {
// Path: src/java/se/agura/memorial/search/api/Graveyard.java
// public class Graveyard {
// 	private int id;
// 
// 	private String kGard; //  
// 
// 	private String Benamning; //	   
// 
// 	private int distriktID;
// 
// 	public Graveyard(int id, String kGard, String Benamning, int distriktID) {
// 		super();
// 
// 		this.id = id;
// 		this.kGard = kGard;
// 		this.Benamning = Benamning;
// 		this.distriktID = distriktID;
// 	}
// 
// 	public String getBenamning() {
// 		return Benamning;
// 	}
// 
// 	public void setBenamning(String benamning) {
// 		Benamning = benamning;
// 	}
// 
// 	public int getDistrikt_ID() {
// 		return distriktID;
// 	}
// 
// 	public void setDistrikt_ID(int distrikt_ID) {
// 		this.distriktID = distrikt_ID;
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getKGard() {
// 		return kGard;
// 	}
// 
// 	public void setKGard(String gard) {
// 		kGard = gard;
// 	}
// 	
// 	public int hashCode() {
// 		String tempKGard = getKGard();
// 		if ( tempKGard == null) {
// 			return getId() + getDistrikt_ID();
// 		}
// 		return getId() + getDistrikt_ID() + tempKGard.hashCode();
// 	}
// 	
// 	public boolean equals(Object object) {
// 		if (this == object) {
// 			return true;
// 		}
// 		if (object == null) {
// 			return false;
// 		}
// 		if (getClass() != object.getClass()) {
// 			return false;
// 		}	
// 		Graveyard graveyard = (Graveyard) object;
// 		String tempKGard = getKGard();
// 		String graveyardKGard = graveyard.getKGard();
// 		if (tempKGard == null && graveyardKGard == null) {
// 			return  (graveyard.getId() == getId() && graveyard.getDistrikt_ID() == getDistrikt_ID());
// 		}
// 		if (tempKGard == null || graveyardKGard == null) {
// 			return false;
// 		}
// 		return  (graveyard.getId() == getId() && graveyard.getDistrikt_ID() == getDistrikt_ID() && graveyardKGard.equals(tempKGard));
// 	}
// 
// }
// 
// Path: src/java/se/agura/memorial/search/api/ObituarySearch.java
// public interface ObituarySearch {
//               
// 	public Collection findGraves (
// 			           String firstName,
// 			           String lastName,
// 					   String personIdentifier,
// 					   CustomMemorialDate dateOfBirthFrom,
// 					   CustomMemorialDate dateOfBirthTo,			           
// 					   CustomMemorialDate dateOfDeathFrom,
// 					   CustomMemorialDate dateOfDeathTo,			           
// 			           String hometown,
// 			           String graveyard);
// 	
// 	public Collection getGraveyards();	
// 	
// 	public Grave findGrave(String graveId);	
// 	
// }
// 
// Path: src/java/se/agura/memorial/search/business/SearchFormSessionBean.java
// public class SearchFormSessionBean extends IBOSessionBean  implements SearchFormSession{
// 	
// 	private Integer databaseId = null;
// 	
// 	private String graveId = null;	
// 	
// 
// 	public SearchFormSessionBean(){}
// 
// 	
// 	
// 	public String getGraveId() {
// 		return graveId;
// 	}
// 	
// 
// 
// 
// 	public void setGraveId(String graveId) {
// 		this.graveId = graveId;
// 	}
// 	
// 
// 
// 
// 	public Integer getDatabaseId() {
// 		return databaseId;
// 	}
// 
// 	public void setDatabaseId(Integer databaseId) {
// 		this.databaseId = databaseId;
// 	}
// 
// }
// 
// Path: src/java/se/agura/memorial/search/business/SearchImplBroker.java
// public interface SearchImplBroker extends IBOService {
// 	/**
// 	 * @see se.agura.memorial.search.business.SearchImplBrokerBean#getSearch
// 	 */
// 	public ObituarySearch getSearch(int databaseConnId)
// 			throws java.rmi.RemoteException;
// 
// }


// Path: src/java/se/agura/memorial/search/presentation/GraveyardConverter.java
import java.rmi.RemoteException;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import se.agura.memorial.search.api.Graveyard;
import se.agura.memorial.search.api.ObituarySearch;
import se.agura.memorial.search.business.SearchFormSessionBean;
import se.agura.memorial.search.business.SearchImplBroker;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.presentation.IWContext;

package se.agura.memorial.search.presentation;





public class GraveyardConverter implements Converter {

	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2)
			throws ConverterException {

		Graveyard g = null;
		//g = (Graveyard) new SearchFormBackingBean.getGraveyards().get(arg2);
		
		
		/*
		 1. get current data base implementation id (from session bean)
		 2. get database graveyards
		 3. find appropriate graveyard by Id		 
		 */
		
		//1.
		FacesContext facesContext = FacesContext.getCurrentInstance();
		IWContext iwc = IWContext.getIWContext(facesContext);
		try {
			SearchFormSessionBean sb = (SearchFormSessionBean) IBOLookup.getSessionInstance(iwc, SearchFormSessionBean.class);
			
			//2.
			try {
				SearchImplBroker sib = (SearchImplBroker) IBOLookup.getServiceInstance(iwc, SearchImplBroker.class);