/**
*
*/
package net.agef.jobexchange.webservice.adapter;
import net.agef.jobexchange.application.LocationWorker;
import net.agef.jobexchange.domain.Territory;
import net.agef.jobexchange.exceptions.TerritoryNotFoundException;
import net.agef.jobexchange.webservice.entities.TerritoryDTO;
/**
* @author AGEF
*
*/
public class TerritoryAssemblerWorker implements TerritoryAssembler{
private LocationWorker lw;
public TerritoryAssemblerWorker(LocationWorker locationWorker) {
this.lw = locationWorker;
}
@Override
public TerritoryDTO createDTO(Territory territory) {
if (territory!=null) {
TerritoryDTO territoryDTO = new TerritoryDTO(territory.getNameEnglish());
return territoryDTO;
} else return null;
}
@Override
public Territory getDomainObj(TerritoryDTO dto) throws TerritoryNotFoundException {
if(dto!=null && dto.getTerritory() != null && !dto.getTerritory().equals("") && !dto.getTerritory().equals("NULL") ){
try {
//if country is provided by iso number
if(org.apache.commons.lang.StringUtils.isNumeric(dto.getTerritory())){
return lw.getTerritoryByISONumber(new Integer(dto.getTerritory()));
} else // else if country is provided by name
{
return lw.getTerritoryByName(dto.getTerritory());
}
} catch (NumberFormatException e) {
System.err.println("Territory could not be parsed: "+dto.getTerritory());
return null;
}
}
return null;
}
}