/** {@inheritDoc}} */ @Override public List<SoaActivationDocument> getSoaActivationDocumentsForDeactivation( SoaActivationDocument newSoaActivationDocument) { // TODO #13 do not use FamCouchDBDao#getAll List<SoaActivationDocument> result = new ArrayList<SoaActivationDocument>(); List<SoaActivationDocument> all_sads = this.getAllSoaActivation(); for (SoaActivationDocument sad : all_sads) { if (sad.getRoleId().equals(newSoaActivationDocument.getRoleId())) { if (sad.isActive() && !sad.getId().equals(newSoaActivationDocument.getId())) { result.add(sad); } } } return result; }
@SuppressWarnings("deprecation") // TODO #11 kill uses of deprecations @Test public void insertNewForExtern() { SoaActivationDocument externOld = this.insertAndGet("extern"); SoaActivationDocument internOld = this.insertAndGet("intern"); SoaActivationDocument externNew = this.insertAndGet("extern"); assertNull(externOld.getDeactivatedOn()); assertNull(internOld.getDeactivatedOn()); assertNull(externNew.getDeactivatedOn()); assertTrue(externOld.isActive()); assertTrue(internOld.isActive()); assertTrue(externNew.isActive()); assertNotNull(externOld.getId()); assertNotNull(internOld.getId()); assertNotNull(externNew.getId()); new TermsOfUseResolver(TeztBeanSimpleFactory.getAdmin()).deactivateAgreementsFor(externNew); List<SoaActivationDocument> all_sads = FamDaoProxy.soaDao().getAllSoaActivation(); assertTrue(all_sads.size() >= 3); boolean[] foundAll = {false, false, false}; for (SoaActivationDocument sad : all_sads) { if (sad.getId().equals(internOld.getId())) { // intern is still active foundAll[0] = true; assertTrue(sad.isActive()); } if (sad.getId().equals(externOld.getId())) { // extern is not active anymore foundAll[1] = true; assertFalse(sad.isActive()); assertTrue(sad.getDeactivatedOn() > sad.getActivatedOn()); } if (sad.getId().equals(externNew.getId())) { // new one is active foundAll[2] = true; assertTrue(sad.isActive()); } } // found everything assertTrue(foundAll[0]); assertTrue(foundAll[1]); assertTrue(foundAll[2]); }