@Override public List<OrganisaatioDTO> findByOidList(List<String> oids, int maxResults) { List<OrganisaatioDTO> orgs = new ArrayList<OrganisaatioDTO>(); for(OrganisaatioDTO org: repo) { if(oids.contains(org.getOid())) { orgs.add(org); } } return orgs; }
@Override public OrganisaatioDTO findByOid(String oid) { OrganisaatioDTO org = null; if (oid != null) { for (OrganisaatioDTO dto : repo) { if (oid.equals(dto.getOid())) { return dto; } } } log.log(Level.INFO, "Organisaatio was null"); /* if (org == null) { org = repo.get((repo.size()-1)); //DEBUGSAWAY:log.debug("Organisaatio was null") }*/ return org; }
private OrganisaatioDTO save(OrganisaatioDTO organisaatio) { repo.add(organisaatio); oidParentOid.put(organisaatio.getOid(), organisaatio.getParentOid()); return organisaatio; }
@Override public OrganisaatioOidListType findChildrenOidsByOid(OrganisaatioSearchOidType parameters) { System.out.println(String.format("mock searching children for '%s'", parameters.getSearchOid())); OrganisaatioOidListType response = new OrganisaatioOidListType(); HashSet<String> oids = new HashSet<String>(); final String theOid = parameters.getSearchOid(); oids.add(theOid); int oldCount = -1; while (oids.size() != oldCount) { oldCount = oids.size(); HashSet<String> additions = new HashSet<String>(); for (OrganisaatioDTO org : repo) { for (String oid : oids) { if (oid.equals(org.getParentOid()) && !oids.contains(org.getOid())) { additions.add(org.getOid()); } } } oids.addAll(additions); } for(String oid: oids) { if(theOid.equals(oid)) continue; OrganisaatioOidType oidType = new OrganisaatioOidType(); oidType.setOrganisaatioOid(oid); response.getOrganisaatioOidList().add(oidType); } return response; }
@Override public List<OrganisaatioDTO> searchOrganisaatios(OrganisaatioSearchCriteriaDTO organisaatioSearchCriteria) { Collection<OrganisaatioDTO> allOrgs = findAll(); if ((organisaatioSearchCriteria.getSearchStr() == null) && organisaatioSearchCriteria.getOppilaitosTyyppi() == null && organisaatioSearchCriteria.getOrganisaatioDomainNimi() == null && organisaatioSearchCriteria.getOppilaitosTyyppi() == null) { List<OrganisaatioDTO> orgs = new ArrayList<OrganisaatioDTO>(); for (OrganisaatioDTO curOrg : allOrgs) { orgs.add(curOrg); } return orgs; } List<OrganisaatioDTO> resultOrgs = new ArrayList<OrganisaatioDTO>(); String orgTyypSpec = organisaatioSearchCriteria.getOrganisaatioTyyppi(); log.log(Level.INFO, "searchOrganisatios ----- orgTyyppiSpec: {0}", orgTyypSpec); for (OrganisaatioDTO curOrg : allOrgs) { if (((orgTyypSpec == null) || OrganisaatioDisplayHelper.getTyyppisStrForOrganisaatio(curOrg).contains(orgTyypSpec)) && voimassaoloMatches(curOrg, organisaatioSearchCriteria) && textMatches(curOrg, organisaatioSearchCriteria) && oppilaitosTyyppiMatches(curOrg, organisaatioSearchCriteria)) { log.log(Level.INFO, "searchOrganisaatios ---- MATCH!!!"); resultOrgs.add(curOrg); resultOrgs.addAll(union(resultOrgs, this.findParentsTo(curOrg.getOid()))); } } return resultOrgs; }
private OrganisaatioDTO create(String domainNimi,String nimi, String ytunnus, OrganisaatioDTO parent, Date start, Date stop, String oppilaitosTyyppi, String oid) { OrganisaatioDTO organisaatio = new OrganisaatioDTO(); organisaatio.setDomainNimi(domainNimi); organisaatio.setOid(oid); // organisaatio.setNimiFi(nimi); // organisaatio.setNimiLyhenne(nimi); organisaatio.setKotipaikka("Helsinki"); organisaatio.setYritysmuoto("oy"); organisaatio.setAlkuPvm((start != null) ? start : null); organisaatio.setLakkautusPvm((stop != null) ? stop : null); if (parent != null) { organisaatio.setParentOid(parent.getOid()); organisaatio.getTyypit().addAll(getDefTyypit()); organisaatio.setOppilaitosKoodi(ytunnus); organisaatio.setOppilaitosTyyppi(oppilaitosTyyppi); } else { organisaatio.getTyypit().addAll(Arrays.asList(new OrganisaatioTyyppi[]{OrganisaatioTyyppi.KOULUTUSTOIMIJA})); organisaatio.setYtunnus(ytunnus); } save(organisaatio); return organisaatio; }