package org.msh.tb.tbunits; import org.jboss.seam.Component; import org.msh.tb.entities.AdministrativeUnit; import org.msh.tb.entities.Tbunit; import java.util.List; public class TBUnitSelection2 extends TBUnitSelection { public TBUnitSelection2(String clientId, boolean applyUserRestrictions, TBUnitType filter) { super(clientId, applyUserRestrictions, filter); } public TBUnitSelection2(String clientId) { super(clientId); } /** * Change the TB Unit selected * @param unit to be selected */ @Override public void setTbunit(Tbunit unit) { setSelected(unit); } @Override public void setSelected(Tbunit unit) { super.setSelected2(unit); } /** * Return the {@link Tbunit} list from the administrative unit selected * @return List of {@link Tbunit} instances */ @Override public List getOptions() { UnitListFilter filter = new UnitListFilter(); filter.setAdminUnitId( getAdminUnitId() ); filter.setApplyHealthSystemRestriction(isApplyHealthSystemRestrictions()); filter.setApplyUserRestrictions(isApplyUserRestrictions()); filter.setType(type); return ((UnitListsManager)Component.getInstance("unitListsManager")).getUnits(filter); } @Override public Integer getAdminUnitId(){ if(auselection.getUnitLevel5() != null){ return auselection.getUnitLevel5().getId(); }else if(auselection.getUnitLevel4() != null){ return auselection.getUnitLevel4().getId(); }else if(auselection.getUnitLevel3() != null){ return auselection.getUnitLevel3().getId(); }else if(auselection.getUnitLevel2() != null){ return auselection.getUnitLevel2().getId(); }else if(auselection.getUnitLevel1() != null){ return auselection.getUnitLevel1().getId(); }else{ return null; } } public AdministrativeUnit getLastLevelAdminUnitSelected(){ if(auselection.getUnitLevel5() != null){ return auselection.getUnitLevel5(); }else if(auselection.getUnitLevel4() != null){ return auselection.getUnitLevel4(); }else if(auselection.getUnitLevel3() != null){ return auselection.getUnitLevel3(); }else if(auselection.getUnitLevel2() != null){ return auselection.getUnitLevel2(); }else if(auselection.getUnitLevel1() != null){ return auselection.getUnitLevel1(); }else{ return null; } } @Override public Tbunit getSelected(){ if(this.getLastLevelAdminUnitSelected() == null) return null; return super.getSelected(); } }