public static List<YhteystietoDTO> getYhteystietoByType(Class type, OrganisaatioDTO org) { List<YhteystietoDTO> yhteysTieto = new ArrayList<YhteystietoDTO>(); for (YhteystietoDTO tieto : org.getYhteystiedot()) { if (tieto.getClass().isAssignableFrom(type)) { yhteysTieto.add(tieto); } } return yhteysTieto; }
public static OsoiteDTO getOsoiteByType(OrganisaatioDTO org, OsoiteTyyppi tyyppi) { OsoiteDTO foundOsoite = new OsoiteDTO(); foundOsoite.setOsoiteTyyppi(tyyppi); if(org == null || org.getYhteystiedot() == null) { return null; } for (YhteystietoDTO yhteysTieto : org.getYhteystiedot()) { if (yhteysTieto instanceof OsoiteDTO) { if (((OsoiteDTO) yhteysTieto).getOsoiteTyyppi().equals(tyyppi)) { foundOsoite = (OsoiteDTO) yhteysTieto; break; } } } return foundOsoite; }
public static List<YhteystietoDTO> getMuutYhteystiedot(OrganisaatioDTO organisaatio) { List<YhteystietoDTO> result = new ArrayList<YhteystietoDTO>(organisaatio.getMuutOsoitteet()); remove(result, getOsoiteByType(organisaatio, OsoiteTyyppi.POSTI)); remove(result, getOsoiteByType(organisaatio, OsoiteTyyppi.KAYNTI)); remove(result, getPuhelinNumeroByType(organisaatio.getYhteystiedot(), PuhelinNumeroTyyppi.PUHELIN)); remove(result, getPuhelinNumeroByType(organisaatio.getYhteystiedot(), PuhelinNumeroTyyppi.FAKSI)); remove(result, getOrganisaatioEmail(organisaatio)); remove(result, getOrganisaatioWww(organisaatio)); return result; }