Example usage for org.apache.commons.collections CollectionUtils subtract

List of usage examples for org.apache.commons.collections CollectionUtils subtract

Introduction

In this page you can find the example usage for org.apache.commons.collections CollectionUtils subtract.

Prototype

public static Collection subtract(final Collection a, final Collection b) 

Source Link

Document

Returns a new Collection containing a - b.

Usage

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());
    }

}