/* * Gets the Author Information for a specific author */ public AuthorInformation getAuthorInformation(final Integer authorId) { final AuthorInformation authInfo = new AuthorInformation(); authInfo.setAuthorId(authorId); final RESTTagV1 tag = getTagById(authorId); if (tag != null && ComponentBaseRESTEntityWithPropertiesV1.<RESTTagV1, RESTTagCollectionV1>returnProperty( tag, CSConstants.FIRST_NAME_PROPERTY_TAG_ID) != null && ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.LAST_NAME_PROPERTY_TAG_ID) != null) { authInfo.setFirstName( ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.FIRST_NAME_PROPERTY_TAG_ID) .getValue()); authInfo.setLastName( ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.LAST_NAME_PROPERTY_TAG_ID) .getValue()); if (ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.EMAIL_PROPERTY_TAG_ID) != null) { authInfo.setEmail( ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.EMAIL_PROPERTY_TAG_ID) .getValue()); } if (ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.ORGANIZATION_PROPERTY_TAG_ID) != null) { authInfo.setOrganization( ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.ORGANIZATION_PROPERTY_TAG_ID) .getValue()); } if (ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.ORG_DIVISION_PROPERTY_TAG_ID) != null) { authInfo.setOrgDivision( ComponentBaseRESTEntityWithPropertiesV1.returnProperty( tag, CSConstants.ORG_DIVISION_PROPERTY_TAG_ID) .getValue()); } return authInfo; } return null; }
/* * Get the Pre Processed Content Specification for a ID and Revision */ public RESTTopicV1 getPreContentSpecById(final Integer id, final Integer revision) { final RESTTopicV1 cs = getContentSpecById(id, revision); final List<Object[]> specRevisions = getContentSpecRevisionsById(id); if (specRevisions == null) return null; // Create a sorted set of revision ids that are less the the current // revision final SortedSet<Integer> sortedSpecRevisions = new TreeSet<Integer>(); for (final Object[] specRev : specRevisions) { if ((Integer) specRev[0] <= cs.getRevision()) { sortedSpecRevisions.add((Integer) specRev[0]); } } if (sortedSpecRevisions.size() == 0) return null; // Find the Pre Content Spec from the revisions RESTTopicV1 preContentSpec = null; Integer specRev = sortedSpecRevisions.last(); while (specRev != null) { final RESTTopicV1 contentSpecRev = getContentSpecById(id, specRev); if (ComponentBaseRESTEntityWithPropertiesV1 .<RESTTopicV1, RESTTopicCollectionV1>returnProperty( contentSpecRev, CSConstants.CSP_TYPE_PROPERTY_TAG_ID) != null && ComponentBaseRESTEntityWithPropertiesV1.returnProperty( contentSpecRev, CSConstants.CSP_TYPE_PROPERTY_TAG_ID) .getValue() .equals(CSConstants.CSP_PRE_PROCESSED_STRING)) { preContentSpec = contentSpecRev; break; } specRev = sortedSpecRevisions.headSet(specRev).isEmpty() ? null : sortedSpecRevisions.headSet(specRev).last(); } return preContentSpec; }