/** * Method getOriginalAnomaly. * * @param aOriginalReview R4EReview * @param aCurrentAnomaly R4EAnomaly * @return R4EAnomaly */ public static R4EAnomaly getOriginalAnomaly( R4EReview aOriginalReview, R4EAnomaly aCurrentAnomaly) { if ((null != aOriginalReview) && (null != aCurrentAnomaly)) { // Loop through all anomalies and find the one whose R4EID is the same as the currently // imported one final String[] origIdTokens = aCurrentAnomaly .getInfoAtt() .get(R4EUIConstants.POSTPONED_ATTR_ORIG_ANOMALY_ID) .split( R4EUIConstants .SEPARATOR); // First token is user name, second token is sequence number if (null != origIdTokens) { final R4EUser origUser = aOriginalReview.getUsersMap().get(origIdTokens[0]); if (null != origUser) { for (R4EComment anomaly : origUser.getAddedComments()) { if (anomaly instanceof R4EAnomaly) { Integer id = Integer.valueOf(origIdTokens[1]); if (null != id) { if (id.intValue() == anomaly.getId().getSequenceID()) { return (R4EAnomaly) anomaly; } } } } } } } return null; }
/** Build elements one by one */ public void testGroupReviewCreate() { R4EReviewGroup group = null; // required folder path and group name to build the new group file try { group = fFactory.createR4EReviewGroup(fGroupPath, GROUP_NAME); } catch (ResourceHandlingException e) { e.printStackTrace(); } assertNotNull(group); URI uri = group.eResource().getURI(); String expectedURI = fGroupPath.appendSegment("Group_One_group_root.xrer").toString(); assertEquals(expectedURI, uri.toString()); // Deserialise and assert group = null; try { group = fFactory.openR4EReviewGroup(uri); } catch (ResourceHandlingException e) { e.printStackTrace(); } catch (CompatibilityException e) { e.printStackTrace(); } // validate assertNotNull(group); assertEquals(GROUP_NAME, group.getName()); // crate a review R4EReview review = null; try { review = fFactory.createR4EReview(group, REVIEW_NAME1, fUser1); } catch (ResourceHandlingException e) { e.printStackTrace(); fail("Exception"); } assertEquals(REVIEW_NAME1, review.getName()); // re-open the group group = null; try { group = fFactory.openR4EReviewGroup(uri); } catch (ResourceHandlingException e) { e.printStackTrace(); fail("Exception"); } catch (CompatibilityException e) { e.printStackTrace(); fail("Exception"); } uri = review.eResource().getURI(); // read the review try { review = fFactory.openR4EReview(group, review.getName()); } catch (ResourceHandlingException e) { e.printStackTrace(); fail("Exception"); } catch (CompatibilityException e) { e.printStackTrace(); fail("Exception"); } assertEquals(REVIEW_NAME1, review.getName()); // read the participant R4EUser participant = review.getUsersMap().values().iterator().next(); uri = participant.eResource().getURI(); try { ResourceSet resSet = participant.eResource().getResourceSet(); participant = fReader.deserializeTopElement(uri, resSet, R4EParticipant.class); } catch (ResourceHandlingException e) { e.printStackTrace(); fail("Exception"); } assertEquals(fUser1, participant.getId()); // Clean up File folder = new File(URI.decode(fGroupPath.devicePath())); try { FileUtils.deleteDirectory(folder); } catch (IOException e) { e.printStackTrace(); fail("Exception"); } }