private OrcidMessage getLegacyOrcidEntity(String prefix, Throwable e) { OrcidMessage entity = new OrcidMessage(); entity.setMessageVersion(OrcidMessage.DEFAULT_VERSION); if (e != null && !PojoUtil.isEmpty(e.getMessage())) entity.setErrorDesc(new ErrorDesc(prefix + e.getMessage())); else entity.setErrorDesc(new ErrorDesc(prefix)); return entity; }
@Override public OrcidMessage upgradeMessage(OrcidMessage orcidMessage) { if (orcidMessage == null) { return null; } orcidMessage.setMessageVersion(TO_VERSION); OrcidProfile orcidProfile = orcidMessage.getOrcidProfile(); upgradeProfile(orcidProfile); return orcidMessage; } }
private Response getOrcidSearchResultsResponse(OrcidSearchResults orcidSearchResults, String query) { if (orcidSearchResults != null) { OrcidMessage orcidMessage = new OrcidMessage(); orcidMessage.setMessageVersion("1.2"); orcidMessage.setOrcidSearchResults(orcidSearchResults); orcidMessageUtil.setSourceName(orcidMessage); //TODO: THIS FAILS if there is no profile in SOLR (org.orcid.core.indexPublicProfile=false or via message-listener) return Response.ok(orcidMessage).build(); } else { Object params[] = { query }; throw new NoResultException(localeManager.resolveMessage("apiError.no_search_result.exception", params)); } } }
private Response getResponse(Throwable e) { OrcidMessage entity = new OrcidMessage(); entity.setErrorDesc(new ErrorDesc(e.getMessage())); return Response.serverError().entity(entity).build(); }
@Override public OrcidMessage findOrcidSearchResultsById(String orcid) { OrcidMessage orcidMessage = new OrcidMessage(); OrcidSearchResults searchResults = new OrcidSearchResults(); OrcidSolrResult indexedOrcid = solrDao.findByOrcid(orcid); if (indexedOrcid != null) { List<OrcidSearchResult> orcidSearchResults = buildSearchResultsFromPublicProfile(Arrays.asList(indexedOrcid)); searchResults.getOrcidSearchResult().addAll(orcidSearchResults); } orcidMessage.setOrcidSearchResults(searchResults); searchResults.setNumFound(1); return orcidMessage; }
OrcidMessage messageToFilter = new OrcidMessage(); messageToFilter.setOrcidProfile(orcidProfile); OrcidMessage filteredMessage = visibilityFilter.filter(messageToFilter, Visibility.PUBLIC); OrcidProfile filteredProfile = filteredMessage.getOrcidProfile(); OrcidMessage orcidMessage = new OrcidMessage(); orcidMessage.setMessageVersion(OrcidMessage.DEFAULT_VERSION); orcidMessage.setOrcidProfile(filteredProfile); OrcidHistory orcidHistory = filteredProfile.getOrcidHistory(); if (orcidHistory != null) { profileIndexDocument.setPublicProfileMessage(orcidMessage.toXmlString());
private OrcidProfile createTemplateOrcidProfile() { try { logger.info(MessageFormat.format("Going to map stream at {0}", new Date())); return ((OrcidMessage) unmarshaller.unmarshal(is)).getOrcidProfile(); } catch (Exception e) { IOUtils.closeQuietly(is); throw new RuntimeException(e); } finally { } }
@Override public OrcidMessage findPublicProfileById(String orcid) { OrcidMessage om = null; try { if (cachingSource.equals(DB)) { OrcidProfile orcidProfile = orcidProfileCacheManager.retrievePublic(orcid); orcidProfile.setOrcidInternal(null); om = new OrcidMessage(orcidProfile); } else { try (Reader reader = solrDao.findByOrcidAsReader(orcid)) { if (reader != null) { BufferedReader br = new BufferedReader(reader); om = OrcidMessage.unmarshall(br); } } } } catch (NonTransientDataAccessResourceException e) { throw new OrcidSearchException("Error searching by id: " + orcid, e); } catch (IOException e) { throw new OrcidSearchException("Error closing stream for id: " + orcid, e); } if (om == null) throw new OrcidSearchException("Result is null"); return om; }
public void setSourceName(OrcidMessage orcidMessage) { if(orcidMessage != null) { if(orcidMessage.getOrcidProfile() != null) { setSourceName(orcidMessage.getOrcidProfile()); } if(orcidMessage.getOrcidSearchResults() != null) { List<OrcidSearchResult> searchResults = orcidMessage.getOrcidSearchResults().getOrcidSearchResult(); for(OrcidSearchResult searchResult : searchResults) { if(searchResult.getOrcidProfile() != null) { setSourceName(searchResult.getOrcidProfile()); } } } } }
if (reader != null) { BufferedReader br = new BufferedReader(reader); orcidMessage = OrcidMessage.unmarshall(br); orcidProfile = orcidMessage.getOrcidProfile();
/** * Create an instance of {@link OrcidMessage } * */ public OrcidMessage createOrcidMessage() { return new OrcidMessage(); }
private void downgradeSearchResults(OrcidMessage orcidMessage) { OrcidSearchResults searchResults = orcidMessage.getOrcidSearchResults(); if (searchResults != null) { for (OrcidSearchResult searchResult : searchResults.getOrcidSearchResult()) { downgradeProfile(searchResult.getOrcidProfile()); } } }
@Override public OrcidMessage upgradeMessage(OrcidMessage orcidMessage) { if (orcidMessage == null) { return null; } orcidMessage.setMessageVersion(TO_VERSION); return orcidMessage; }
private void doMessageVersionValidation(OrcidMessage orcidMessage) { if (orcidMessage != null) { if (PojoUtil.isEmpty(orcidMessage.getMessageVersion())) { handleError("Message version is required"); } } }
public static OrcidMessage unmarshall(String orcidMessageString) { Reader reader = new StringReader(orcidMessageString); return unmarshall(reader); }
@Override public String toString() { return OrcidMessage.convertToString(this); }
@Override public OrcidMessage findOrcidSearchResultsById(String orcid) { OrcidMessage orcidMessage = new OrcidMessage(); OrcidSearchResults searchResults = new OrcidSearchResults(); OrcidSolrResult indexedOrcid = solrDao.findByOrcid(orcid); if (indexedOrcid != null) { List<OrcidSearchResult> orcidSearchResults = buildSearchResultsFromPublicProfile(Arrays.asList(indexedOrcid)); searchResults.getOrcidSearchResult().addAll(orcidSearchResults); } orcidMessage.setOrcidSearchResults(searchResults); searchResults.setNumFound(1); return orcidMessage; }
private String getSponsorOrcid(OrcidMessage orcidMessage) { if (orcidMessage != null && orcidMessage.getOrcidProfile() != null && orcidMessage.getOrcidProfile().getOrcidHistory() != null && orcidMessage.getOrcidProfile().getOrcidHistory().getSource() != null) { return orcidMessage.getOrcidProfile().getOrcidHistory().getSource().retrieveSourcePath(); } else { return null; } }
private Response getResponse(Throwable e) { OrcidMessage entity = new OrcidMessage(); entity.setErrorDesc(new ErrorDesc(e.getMessage())); return Response.serverError().entity(entity).build(); }
@Override public OrcidMessage findPublicProfileById(String orcid) { OrcidMessage om = null; try { if (cachingSource.equals(DB)) { OrcidProfile orcidProfile = orcidProfileCacheManager.retrievePublic(orcid); orcidProfile.setOrcidInternal(null); om = new OrcidMessage(orcidProfile); } else { try (Reader reader = solrDao.findByOrcidAsReader(orcid)) { if (reader != null) { BufferedReader br = new BufferedReader(reader); om = OrcidMessage.unmarshall(br); } } } } catch (NonTransientDataAccessResourceException e) { throw new OrcidSearchException("Error searching by id: " + orcid, e); } catch (IOException e) { throw new OrcidSearchException("Error closing stream for id: " + orcid, e); } if (om == null) throw new OrcidSearchException("Result is null"); return om; }