List of usage examples for org.apache.commons.collections CollectionUtils subtract
public static Collection subtract(final Collection a, final Collection b)
From source file:org.openmrs.web.dwr.DWRObservationServiceTest.java
/** * @see org.openmrs.web.dwr.DWRObsService#createObs(Integer, Integer, Integer, String, String) *//*from w ww .jav a 2s. com*/ @Test @Verifies(value = "should pass test on saving observation with boolean concepts with value true", method = "createObs(Integer, Integer, Integer, String, String)") public void createObservation_shouldCreateObservationWithBooleanConceptWithValueTrue() throws Exception { DWRObsService dwrService = new DWRObsService(); ConceptService conceptService = Context.getConceptService(); ObsService obsService = Context.getObsService(); AdministrationService administrationService = Context.getAdministrationService(); Person person = Context.getPersonService().getPerson(2); Concept concept = conceptService.getConcept(18); List<Obs> obsListBefore = obsService.getObservationsByPersonAndConcept(person, concept); int obsListSizeBeforeSaveObs = obsListBefore.size(); String obsDateTime = "3/12/2014"; dwrService.createObs(2, null, 18, "True", obsDateTime); List<Obs> obsListAfter = obsService.getObservationsByPersonAndConcept(person, concept); assertEquals(obsListSizeBeforeSaveObs + 1, obsListAfter.size()); String booleanConceptId = administrationService.getGlobalProperty("concept.true"); Concept booleanConcept = Context.getConceptService().getConcept(Integer.parseInt(booleanConceptId)); Obs addedObs = (Obs) CollectionUtils.subtract(obsListAfter, obsListBefore).iterator().next(); assertNotNull(addedObs); assertNotNull(addedObs.getValueCoded()); assertEquals(booleanConcept, addedObs.getValueCoded()); }
From source file:org.openmrs.web.dwr.DWRObservationServiceTest.java
/** * @see org.openmrs.web.dwr.DWRObsService#createObs(Integer, Integer, Integer, String, String) *//*from w w w . j av a2s . co m*/ @Test @Verifies(value = "should pass test on saving observation with boolean concepts with value false", method = "createObs(Integer, Integer, Integer, String, String)") public void createObservation_shouldCreateObservationWithBooleanConceptWithValueFalse() throws Exception { DWRObsService dwrService = new DWRObsService(); ConceptService conceptService = Context.getConceptService(); ObsService obsService = Context.getObsService(); AdministrationService administrationService = Context.getAdministrationService(); Person person = Context.getPersonService().getPerson(2); Concept concept = conceptService.getConcept(18); List<Obs> obsListBefore = obsService.getObservationsByPersonAndConcept(person, concept); int obsListSizeBeforeSaveObs = obsListBefore.size(); String obsDateTime = "4/12/2014"; dwrService.createObs(2, null, 18, "False", obsDateTime); List<Obs> obsListAfter = obsService.getObservationsByPersonAndConcept(person, concept); assertEquals(obsListSizeBeforeSaveObs + 1, obsListAfter.size()); String booleanConceptId = administrationService.getGlobalProperty("concept.false"); Concept booleanConcept = Context.getConceptService().getConcept(Integer.parseInt(booleanConceptId)); Obs addedObs = (Obs) CollectionUtils.subtract(obsListAfter, obsListBefore).iterator().next(); assertNotNull(addedObs); assertNotNull(addedObs.getValueCoded()); assertEquals(booleanConcept, addedObs.getValueCoded()); }
From source file:org.openmrs.web.dwr.DWRObservationServiceTest.java
/** * @see org.openmrs.web.dwr.DWRObsService#createObs(Integer, Integer, Integer, String, String) *///from w ww .j a v a 2 s.c om @Test @Verifies(value = "should pass test on saving observation with boolean concepts with value zero", method = "createObs(Integer, Integer, Integer, String, String)") public void createObservation_shouldCreateObservationWithBooleanConceptWithValueZero() throws Exception { DWRObsService dwrService = new DWRObsService(); ConceptService conceptService = Context.getConceptService(); ObsService obsService = Context.getObsService(); AdministrationService administrationService = Context.getAdministrationService(); Person person = Context.getPersonService().getPerson(2); Concept concept = conceptService.getConcept(18); List<Obs> obsListBefore = obsService.getObservationsByPersonAndConcept(person, concept); int obsListSizeBeforeSaveObs = obsListBefore.size(); String obsDateTime = "5/12/2014"; dwrService.createObs(2, null, 18, "0", obsDateTime); List<Obs> obsListAfter = obsService.getObservationsByPersonAndConcept(person, concept); assertEquals(obsListSizeBeforeSaveObs + 1, obsListAfter.size()); String booleanConceptId = administrationService.getGlobalProperty("concept.false"); Concept booleanConcept = Context.getConceptService().getConcept(Integer.parseInt(booleanConceptId)); Obs addedObs = (Obs) CollectionUtils.subtract(obsListAfter, obsListBefore).iterator().next(); assertNotNull(addedObs); assertNotNull(addedObs.getValueCoded()); assertEquals(booleanConcept, addedObs.getValueCoded()); }
From source file:org.openmrs.web.dwr.DWRObservationServiceTest.java
/** * @see org.openmrs.web.dwr.DWRObsService#createObs(Integer, Integer, Integer, String, String) *///from w w w . ja va2s .co m @Test @Verifies(value = "should pass test on saving observation with boolean concepts with value one", method = "createObs(Integer, Integer, Integer, String, String)") public void createObservation_shouldCreateObservationWithBooleanConceptWithValueOne() throws Exception { DWRObsService dwrService = new DWRObsService(); ConceptService conceptService = Context.getConceptService(); ObsService obsService = Context.getObsService(); AdministrationService administrationService = Context.getAdministrationService(); Person person = Context.getPersonService().getPerson(2); Concept concept = conceptService.getConcept(18); List<Obs> obsListBefore = obsService.getObservationsByPersonAndConcept(person, concept); int obsListSizeBeforeSaveObs = obsListBefore.size(); String obsDateTime = "6/12/2014"; dwrService.createObs(2, null, 18, "1", obsDateTime); List<Obs> obsListAfter = obsService.getObservationsByPersonAndConcept(person, concept); assertEquals(obsListSizeBeforeSaveObs + 1, obsListAfter.size()); String booleanConceptId = administrationService.getGlobalProperty("concept.true"); Concept booleanConcept = Context.getConceptService().getConcept(Integer.parseInt(booleanConceptId)); Obs addedObs = (Obs) CollectionUtils.subtract(obsListAfter, obsListBefore).iterator().next(); assertNotNull(addedObs); assertNotNull(addedObs.getValueCoded()); assertEquals(booleanConcept, addedObs.getValueCoded()); }
From source file:org.oscarehr.PMmodule.web.GenericIntakeEditAction.java
private void admitServicePrograms(Integer clientId, String providerNo, Set<Integer> serviceProgramIds, String admissionText) throws ProgramFullException, AdmissionException, ServiceRestrictionException { SortedSet<Integer> currentServicePrograms = getCurrentServiceProgramIds(clientId); if (admissionText == null) admissionText = "intake admit"; if (serviceProgramIds.isEmpty()) { for (Object programId : currentServicePrograms) { admissionManager.processDischarge((Integer) programId, clientId, "intake discharge", "0"); }/*from w w w . j a va 2s. c o m*/ return; } Collection<?> discharge = CollectionUtils.subtract(currentServicePrograms, serviceProgramIds); for (Object programId : discharge) { admissionManager.processDischarge((Integer) programId, clientId, "intake discharge", "0"); } Collection<?> admit = CollectionUtils.subtract(serviceProgramIds, currentServicePrograms); for (Object programId : admit) { Program program = programManager.getProgram((Integer) programId); admissionManager.processAdmission(clientId, providerNo, program, "intake discharge", admissionText); } }
From source file:org.ow2.clif.jenkins.PreviewZipAction.java
@SuppressWarnings("unchecked") PreviewZipAction diff() throws IOException { List<String> newPlans = zip.entries(pattern); String dir = zip.basedir();//from w ww . j a v a 2s . c o m List<String> oldPlans = Lists.newArrayList(); for (Item item : jenkins.getAllItems()) { String name = item.getName(); if (name.startsWith(dir + "-")) { oldPlans.add(Jobs.toPlan(name)); } } installs = newArrayList(); uninstalls = newArrayList(); upgrades = newArrayList(); installs.addAll(CollectionUtils.subtract(newPlans, oldPlans)); uninstalls.addAll(CollectionUtils.subtract(oldPlans, newPlans)); upgrades.addAll(CollectionUtils.intersection(newPlans, oldPlans)); return this; }
From source file:org.patientview.test.repository.UnitDaoTest.java
/** * test UnitDao.getAllUnitUsers method, this method is used by UnitUsersController. * this method will be used when searching all unit users whose role is 'unitadmin' or 'unitstaff'. *//*ww w . j ava 2 s .com*/ @Test public void testGetAllUnitUsers() { // create 2 units('UNITCODEA' and 'UNITCODEB') and 3 users('paulc', 'deniz', 'dave') //'paulc' and 'deniz' are in same unit 'UNITCODEA', //'dave' is in 'UNITCODEB'. //'deniz'' role is radaradmin, 'paulc' is 'unitadmin' and 'dave' is 'unitstaff'. // so excuting getAllUnitUsers method will return 2 users, which are 'unitadmin' and 'dave'. Unit unit = new Unit(); unit.setSpecialty(specialty); unit.setUnitcode("UNITCODEA"); unit.setName("unit 1"); unit.setShortname("unit 1"); unitDao.save(unit); unit = new Unit(); unit.setSpecialty(specialty); unit.setUnitcode("UNITCODEB"); unit.setName("unit 2"); unit.setShortname("unit 2"); unitDao.save(unit); User user = repositoryHelpers.createUserWithMapping("paulc", "paul@test.com", "p", "Paul", "UNITCODEA", "nhs1", specialty); repositoryHelpers.createSpecialtyUserRole(specialty, user, "unitadmin"); //this user's role is radaradmin, and he won't be in result list. user = repositoryHelpers.createUserWithMapping("deniz", "deniz@test.com", "d", "Deniz", "UNITCODEA", "nhs2", specialty); repositoryHelpers.createSpecialtyUserRole(specialty, user, "radaradmin"); user = repositoryHelpers.createUserWithMapping("dave", "dave@test.com", "d", "Dave", "UNITCODEB", "nhs3", specialty); repositoryHelpers.createSpecialtyUserRole(specialty, user, "unitstaff"); securityHelpers.loginAsUser("paulc", specialty); List<UnitAdmin> users = unitDao.getAllUnitUsers(specialty); assertEquals("Wrong number of users in unit A", 2, users.size()); List<String> usernames = new ArrayList<String>(); for (UnitAdmin unitAdmin : users) { usernames.add(unitAdmin.getUsername()); } assertEquals("searching result is wrong", 0, CollectionUtils.subtract(Arrays.asList(new String[] { "paulc", "dave" }), usernames).size()); }
From source file:org.patientview.test.utils.UnitUtilsTest.java
/** * test UnitUtils.setUserUnits method, this method is used by LogonAddInputAction and UnitAdminAddAction. * this method will search units depend on login user's role and sourceType of unit('radargroup', 'renalunit'). * superadmin will get all 'radargroup' and 'renalunit' units, unitadmin will get all units which he belongs to, * other role user won't get any unit, like radaradmin. * searching result will be as a attribute in request. */// ww w . ja va 2 s .c o m @Test public void testSetUserUnits() { //superadmin will get all 4 units. loginAsUser(superadmin.getUsername(), specialty1); assertTrue("superadmin should be present", securityUserManager.isRolePresent("superadmin")); MockHttpServletRequest request = new MockHttpServletRequest(); UnitUtils.setUserUnits(request); List<Unit> units = (List<Unit>) request.getAttribute("units"); assertEquals("units size is wrong.", 4, units.size()); List<String> unitcodes = new ArrayList<String>(); for (Unit unit : units) { unitcodes.add(unit.getUnitcode()); } assertEquals("searching result[" + unitcodes.toString() + "] is wrong", 0, CollectionUtils .subtract(Arrays.asList(new String[] { "RADAR1", "RADAR2", "RENAL1", "RENAL2" }), unitcodes) .size()); logout(); // unitadmin will get one unit. loginAsUser(unitadmin.getUsername(), specialty1); assertTrue("unitadmin should be present", securityUserManager.isRolePresent("unitadmin")); request = new MockHttpServletRequest(); UnitUtils.setUserUnits(request); List<Unit> unitadminUnits = (List<Unit>) request.getAttribute("units"); assertEquals("units size is wrong.", 1, ((List) request.getAttribute("units")).size()); assertEquals("searching result is wrong", "RENAL2", unitadminUnits.get(0).getUnitcode()); logout(); // comboAdmin will get 3 units. loginAsUser(comboAdmin.getUsername(), specialty1); assertTrue("comboAdmin should be present", securityUserManager.isRolePresent("unitadmin")); request = new MockHttpServletRequest(); UnitUtils.setUserUnits(request); List<Unit> comboAdminUnits = (List<Unit>) request.getAttribute("units"); assertEquals("units size is wrong.", 3, comboAdminUnits.size()); List<String> comboAdminUnitcodes = new ArrayList<String>(); for (Unit unit : comboAdminUnits) { comboAdminUnitcodes.add(unit.getUnitcode()); } assertEquals("searching result is wrong", 0, CollectionUtils .subtract(Arrays.asList(new String[] { "RADAR1", "RENAL1", "RENAL2" }), comboAdminUnitcodes) .size()); logout(); //radaradmin won't get any unit. loginAsUser(radaradmin.getUsername(), specialty1); assertTrue("radaradmin should be present", securityUserManager.isRolePresent("radaradmin")); request = new MockHttpServletRequest(); UnitUtils.setUserUnits(request); assertEquals("units size is wrong.", 0, ((List) request.getAttribute("units")).size()); logout(); }
From source file:org.patientview.test.utils.UnitUtilsTest.java
/** * test UnitUtils.setUserRenalUnits method, this method is used by PatientAddInputAction. * this method will search units depend on login user's role and 'renalunit' unit * superadmin will get all 'renalunit' units, unitadmin will get all 'renalunit' units which he belongs to, * other role user won't get any unit, like radaradmin. * searching result will be as a attribute in request. *//*from www . j a v a2s.co m*/ @Test public void testSetUserRenalUnits() { //superadmin will get 2 units. loginAsUser(superadmin.getUsername(), specialty1); assertTrue("superadmin should be present", securityUserManager.isRolePresent("superadmin")); MockHttpServletRequest request = new MockHttpServletRequest(); UnitUtils.setUserRenalUnits(request); List<Unit> units = (List<Unit>) request.getAttribute("units"); assertEquals("units size is wrong.", 2, units.size()); List<String> unitcodes = new ArrayList<String>(); for (Unit unit : units) { unitcodes.add(unit.getUnitcode()); } assertEquals("searching result is wrong", 0, CollectionUtils.subtract(Arrays.asList(new String[] { "RENAL1", "RENAL2" }), unitcodes).size()); logout(); // unitadmin will get one unit. loginAsUser(unitadmin.getUsername(), specialty1); assertTrue("unitadmin should be present", securityUserManager.isRolePresent("unitadmin")); request = new MockHttpServletRequest(); UnitUtils.setUserRenalUnits(request); List<Unit> unitadminUnits = (List<Unit>) request.getAttribute("units"); assertEquals("units size is wrong.", 1, ((List) request.getAttribute("units")).size()); assertEquals("searching result is wrong", "RENAL2", unitadminUnits.get(0).getUnitcode()); logout(); // comboAdmin will get 2 units. loginAsUser(comboAdmin.getUsername(), specialty1); assertTrue("comboAdmin should be present", securityUserManager.isRolePresent("unitadmin")); request = new MockHttpServletRequest(); UnitUtils.setUserRenalUnits(request); List<Unit> comboAdminUnits = (List<Unit>) request.getAttribute("units"); assertEquals("units size is wrong.", 2, comboAdminUnits.size()); List<String> comboAdminUnitcodes = new ArrayList<String>(); for (Unit unit : comboAdminUnits) { comboAdminUnitcodes.add(unit.getUnitcode()); } assertEquals("searching result is wrong", 0, CollectionUtils .subtract(Arrays.asList(new String[] { "RENAL1", "RENAL2" }), comboAdminUnitcodes).size()); logout(); //radaradmin won't get any unit. loginAsUser(radaradmin.getUsername(), specialty1); assertTrue("radaradmin should be present", securityUserManager.isRolePresent("radaradmin")); request = new MockHttpServletRequest(); UnitUtils.setUserRenalUnits(request); assertEquals("units size is wrong.", null, request.getAttribute("units")); logout(); }
From source file:org.pentaho.custom.authentication.provider.userroledao.hibernate.HibernateUserRoleDao.java
/** * This method is more complex because this is the inverse end of a bidirectional many-to-many relationship. See * Hibernate documentation section 6.3.2. Bidirectional associations. Basically, this means that the users set of this * role must be managed manually./*from w w w .ja v a 2 s.co m*/ */ @SuppressWarnings("unchecked") public void updateRole(IRole roleToUpdate) throws NotFoundException, UncategorizedUserRoleDaoException { Assert.notNull(roleToUpdate, Messages.getInstance().getString("HibernateUserRoleDao.ERROR_0005_ROLE_CANNOT_BE_NULL")); //$NON-NLS-1$ Assert.hasLength(roleToUpdate.getName(), Messages.getInstance().getString("HibernateUserRoleDao.ERROR_0006_ROLE_NAME_CANNOT_BE_BLANK")); //$NON-NLS-1$ IRole originalRole = getRole(roleToUpdate.getName()); // make a copy of originalRole's users since the merge call below will change the users Set<IUser> originalRoleUsers = new HashSet<IUser>(originalRole.getUsers()); if (originalRole != null) { try { getHibernateTemplate().update(getHibernateTemplate().merge(roleToUpdate)); } catch (DataAccessException e) { throw new UncategorizedUserRoleDaoException( Messages.getInstance().getString("HibernateUserRoleDao.ERROR_0004_DATA_ACCESS_EXCEPTION"), //$NON-NLS-1$ e); } } else { throw new NotFoundException(roleToUpdate.getName()); } // manually manage users set // use relative complement (aka set-theoretic difference, aka subtraction) to get the users to add and users to // remove Set<IUser> usersToAdd = new HashSet<IUser>( CollectionUtils.subtract(roleToUpdate.getUsers(), originalRoleUsers)); Set<IUser> usersToRemove = new HashSet<IUser>( CollectionUtils.subtract(originalRoleUsers, roleToUpdate.getUsers())); for (IUser user : usersToAdd) { addUser(roleToUpdate, user.getUsername()); } for (IUser user : usersToRemove) { removeUser(roleToUpdate, user.getUsername()); } }