private void addFeedSelfLink(Feed feed, final String baseFeedUri, final GetFeedRequest getFeedRequest, final int pageSize, final String searchString) { StringBuilder queryParams = new StringBuilder(); boolean markerIsSet = false; queryParams.append(baseFeedUri).append("?limit=").append(String.valueOf(pageSize)); if(searchString.length() > 0) { queryParams.append("&search=").append(urlEncode(searchString).toString()); } if(getFeedRequest.getPageMarker() != null && getFeedRequest.getPageMarker().length() > 0) { queryParams.append("&marker=").append(getFeedRequest.getPageMarker()); markerIsSet = true; } if(markerIsSet) { queryParams.append("&direction=").append(getFeedRequest.getDirection()); } else { queryParams.append("&direction=backward"); if(queryParams.toString().equalsIgnoreCase(baseFeedUri + "?limit=" + pageSize + "&direction=backward")) { // They are calling the feedhead, just use the base feed uri // This keeps the validator at http://validator.w3.org/ happy queryParams.delete(0, queryParams.toString().length()).append(baseFeedUri); } } feed.addLink(queryParams.toString()).setRel(Link.REL_SELF); }
private void addFeedSelfLink(Feed feed, final String baseFeedUri, final GetFeedRequest getFeedRequest, final int pageSize, final String searchString) { StringBuilder queryParams = new StringBuilder(); boolean markerIsSet = false; queryParams.append(baseFeedUri).append("?limit=").append(String.valueOf(pageSize)); if (searchString.length() > 0) { queryParams.append("&search=").append(urlEncode(searchString).toString()); } if (getFeedRequest.getPageMarker() != null && getFeedRequest.getPageMarker().length() > 0) { queryParams.append("&marker=").append(getFeedRequest.getPageMarker()); markerIsSet = true; } if (markerIsSet) { queryParams.append("&direction=").append(getFeedRequest.getDirection()); } else { queryParams.append("&direction=backward"); if (queryParams.toString().equalsIgnoreCase(baseFeedUri + "?limit=" + pageSize + "&direction=backward")) { // They are calling the feedhead, just use the base feed uri // This keeps the validator at http://validator.w3.org/ happy queryParams.delete(0, queryParams.toString().length()).append(baseFeedUri); } } feed.addLink(queryParams.toString()).setRel(Link.REL_SELF); }
private void addFeedSelfLink(Feed feed, final String baseFeedUri, final GetFeedRequest getFeedRequest, final int pageSize, final String searchString) { StringBuilder queryParams = new StringBuilder(); boolean markerIsSet = false; queryParams.append(baseFeedUri).append(LIMIT_EQ).append( String.valueOf(pageSize)); if (searchString.length() > 0) { queryParams.append(AND_SEARCH_EQ).append(urlEncode(searchString)); } if (getFeedRequest.getPageMarker() != null && getFeedRequest.getPageMarker().length() > 0) { queryParams.append(AND_MARKER_EQ).append(getFeedRequest.getPageMarker()); markerIsSet = true; } if (markerIsSet) { queryParams.append(AND_DIRECTION_EQ).append(getFeedRequest.getDirection()); } else { queryParams.append(AND_DIRECTION_EQ_BACKWARD); if (queryParams.toString().equalsIgnoreCase( baseFeedUri + LIMIT_EQ + "25" + AND_DIRECTION_EQ_BACKWARD)) { // They are calling the feedhead, just use the base feed uri // This keeps the validator at http://validator.w3.org/ happy queryParams.delete(0, queryParams.toString().length()).append( baseFeedUri); } } feed.addLink(queryParams.toString()).setRel( Link.REL_SELF ); }
private void addFeedSelfLink(Feed feed, final String baseFeedUri, final GetFeedRequest getFeedRequest, final int pageSize, final String searchString) { StringBuilder queryParams = new StringBuilder(); boolean markerIsSet = false; queryParams.append(baseFeedUri).append(LIMIT_EQ).append( String.valueOf(pageSize)); if (searchString.length() > 0) { queryParams.append(AND_SEARCH_EQ).append(encode(searchString)); } if (getFeedRequest.getPageMarker() != null && getFeedRequest.getPageMarker().length() > 0) { queryParams.append(AND_MARKER_EQ).append(getFeedRequest.getPageMarker()); markerIsSet = true; } if (markerIsSet) { queryParams.append(AND_DIRECTION_EQ).append(getFeedRequest.getDirection()); } else { queryParams.append(AND_DIRECTION_EQ_BACKWARD); if (queryParams.toString().equalsIgnoreCase( baseFeedUri + LIMIT_EQ + "25" + AND_DIRECTION_EQ_BACKWARD)) { // They are calling the feedhead, just use the base feed uri // This keeps the validator at http://validator.w3.org/ happy queryParams.delete(0, queryParams.toString().length()).append( baseFeedUri); } } feed.addLink(queryParams.toString()).setRel(Link.REL_SELF); }
public Link addLink(String href, String rel) { complete(); FOMFactory fomfactory = (FOMFactory)factory; Link link = fomfactory.newLink(this); link.setHref(href); if (rel != null) link.setRel(rel); return link; }
public Link addLink(String href, String rel) { complete(); FOMFactory fomfactory = (FOMFactory)factory; Link link = fomfactory.newLink(this); link.setHref(href); if (rel != null) link.setRel(rel); return link; }
/** * Creates a edit link for every derivate of a mcrobject. * * @param mcrObjId the mcrobject id as String * @return returns a Stream which contains links to every derivate. */ public static Stream<Link> getEditMediaIRIStream(final String collection, final String mcrObjId) throws SwordError { return MCRSword.getCollection(collection).getDerivateIDsofObject(mcrObjId).map(derivateId -> { final Factory abderaFactory = Abdera.getNewFactory(); final Stream<IRI> editMediaFileIRIStream = getEditMediaFileIRIStream(collection, derivateId); return Stream .concat(Stream.of(getEditMediaHrefOfDerivate(collection, derivateId)), editMediaFileIRIStream) .map(link -> { final Link newLinkElement = abderaFactory.newLink(); newLinkElement.setHref(link.toString()); newLinkElement.setRel("edit-media"); return newLinkElement; }); }).flatMap(s -> s); }
private AdapterResponse<Feed> getFeedHead(GetFeedRequest getFeedRequest, int pageSize) { final Abdera abdera = getFeedRequest.getAbdera(); final String searchString = getFeedRequest.getSearchQuery() != null ? getFeedRequest.getSearchQuery() : ""; List<PersistedEntry> persistedEntries = getFeedHead(getFeedRequest.getFeedName(), pageSize, searchString); Feed hyrdatedFeed = hydrateFeed(abdera, persistedEntries, getFeedRequest, pageSize); // Set the last link in the feed head final String baseFeedUri = decode(getFeedRequest.urlFor( new EnumKeyedTemplateParameters<URITemplate>(URITemplate.FEED))); List<PersistedEntry> lastPersistedEntries = getLastPage(getFeedRequest.getFeedName(), pageSize, searchString); if ( !helper.isArchived() && lastPersistedEntries != null && !(lastPersistedEntries.isEmpty()) ) { hyrdatedFeed.addLink( new StringBuilder().append(baseFeedUri) .append(MARKER_EQ).append( lastPersistedEntries.get(lastPersistedEntries.size() - 1).getEntryId()) .append(AND_LIMIT_EQ).append(String.valueOf(pageSize)) .append(AND_SEARCH_EQ).append(urlEncode(searchString)) .append(AND_DIRECTION_EQ_BACKWARD).toString()) .setRel(Link.REL_LAST); } return ResponseBuilder.found(hyrdatedFeed); }
private AdapterResponse<Feed> getFeedHead(GetFeedRequest getFeedRequest, int pageSize) { final Abdera abdera = getFeedRequest.getAbdera(); final String searchString = getFeedRequest.getSearchQuery() != null ? getFeedRequest.getSearchQuery() : ""; List<PersistedEntry> persistedEntries = getFeedHead(getFeedRequest.getFeedName(), pageSize, searchString); Feed hydratedFeed = hydrateFeed(abdera, persistedEntries, getFeedRequest, pageSize); // Set the last link in the feed head final String baseFeedUri = decode(getFeedRequest.urlFor( new EnumKeyedTemplateParameters<URITemplate>(URITemplate.FEED))); if( !helper.isArchived() ) { hydratedFeed.addLink( new StringBuilder().append(baseFeedUri) .append(MARKER_EQ).append(MOCK_LAST_MARKER) .append(AND_LIMIT_EQ).append(String.valueOf(pageSize)) .append(AND_SEARCH_EQ).append(urlEncode(searchString)) .append(AND_DIRECTION_EQ_BACKWARD).toString()) .setRel(Link.REL_LAST); } return ResponseBuilder.found(hydratedFeed); }
.append( urlEncode( searchString ).toString() ) .append( "&direction=forward" ).toString() ) .setRel( helper.getPrevLink() ); .append( "&search=" ) .append( urlEncode( searchString ).toString() ) .append( "&direction=backward" ).toString() ).setRel( helper.getNextLink() ); hydratedFeed.addLink(new StringBuilder().append( helper.getArchiveUrl() ).append( "?limit=" ).append(String.valueOf(pageSize)) .append( "&direction=backward" ).toString()) .setRel( FeedSource.REL_ARCHIVE_NEXT );
.append( AND_SEARCH_EQ ).append( urlEncode( searchString ) ) .append( AND_DIRECTION_EQ_FORWARD ).toString() ) .setRel( helper.getPrevLink() ); .append( AND_SEARCH_EQ ).append( urlEncode( searchString ) ) .append( AND_DIRECTION_EQ_BACKWARD ).toString() ) .setRel( helper.getNextLink() ); hydratedFeed.addLink(new StringBuilder().append( helper.getArchiveUrl() ).append(LIMIT_EQ).append(String.valueOf(pageSize)) .append(AND_DIRECTION_EQ_BACKWARD).toString()) .setRel( FeedSource.REL_ARCHIVE_NEXT );
private AdapterResponse<Feed> getFeedHead(GetFeedRequest getFeedRequest, String feedName, int pageSize) { final Abdera abdera = getFeedRequest.getAbdera(); final PersistedFeed persistedFeed = feedRepository.getFeed(feedName); AdapterResponse<Feed> response = null; if (persistedFeed != null) { final String searchString = getFeedRequest.getSearchQuery() != null ? getFeedRequest.getSearchQuery() : ""; final List<PersistedEntry> persistedEntries = feedRepository.getFeedHead(feedName, new SimpleCategoryCriteriaGenerator(searchString), pageSize); Feed hyrdatedFeed = hydrateFeed(abdera, persistedEntries, getFeedRequest, pageSize); // Set the last link in the feed head final String baseFeedUri = decode(getFeedRequest.urlFor(new EnumKeyedTemplateParameters<URITemplate>(URITemplate.FEED))); final List<PersistedEntry> lastPersistedEntries = feedRepository.getLastPage(feedName, pageSize, new SimpleCategoryCriteriaGenerator(searchString)); if (!helper.isArchived() && lastPersistedEntries != null && !(lastPersistedEntries.isEmpty())) { hyrdatedFeed.addLink(new StringBuilder() .append(baseFeedUri) .append("?marker=") .append(lastPersistedEntries.get(lastPersistedEntries.size() - 1).getEntryId()) .append("&limit=") .append(String.valueOf(pageSize)) .append("&search=") .append(urlEncode(searchString).toString()) .append("&direction=backward").toString()) .setRel(Link.REL_LAST); } response = ResponseBuilder.found(hyrdatedFeed); } return response != null ? response : ResponseBuilder.found(abdera.newFeed()); }
.append( "&search=" ).append( urlEncode( searchString ).toString() ) .append( "&direction=forward" ).toString() ) .setRel( helper.getPrevLink() ); .append( "&search=" ).append( urlEncode( searchString ).toString() ) .append( "&direction=backward" ).toString() ) .setRel( helper.getNextLink() ); hydratedFeed.addLink(new StringBuilder().append( helper.getArchiveUrl() ).append( "?limit=" ).append(String.valueOf(pageSize)) .append( "&direction=backward" ).toString()) .setRel( FeedSource.REL_ARCHIVE_NEXT );
@Override public AdapterResponse<Feed> getFeed(GetFeedRequest getFeedRequest) { final Feed feed = getFeedRequest.getAbdera().newFeed(); feed.setTitle("A Feed"); feed.addLink(getFeedRequest.urlFor( new EnumKeyedTemplateParameters<URITemplate>(URITemplate.FEED))).setRel("self"); for (AtomEntry ae : liveFeed.values()) { feed.addEntry(ae.getEntry()); } return ResponseBuilder.found(feed); }
public Link addLink(String href, String rel, String type, String title, String hreflang, long length) { complete(); FOMFactory fomfactory = (FOMFactory)factory; Link link = fomfactory.newLink(this); link.setHref(href); link.setRel(rel); link.setMimeType(type); link.setTitle(title); link.setHrefLang(hreflang); link.setLength(length); return link; }
public Link addLink(String href, String rel, String type, String title, String hreflang, long length) { complete(); FOMFactory fomfactory = (FOMFactory)factory; Link link = fomfactory.newLink(this); link.setHref(href); link.setRel(rel); link.setMimeType(type); link.setTitle(title); link.setHrefLang(hreflang); link.setLength(length); return link; }
hyrdatedFeed.addLink(new StringBuilder().append(baseFeedUri).append("?marker=").append(lastPersistedEntries.get(lastPersistedEntries.size() - 1).getEntryId()).append("&limit=").append(String.valueOf(pageSize)).append("&search=").append(urlEncode(searchString).toString()).append("&direction=backward").toString()).setRel(Link.REL_LAST);
+ "entries/" + persistedEntry.getEntryId()).setRel(LINKREL_SELF);
link.setHref(urlManager.getActionableBitstreamUrl(bitstream)); link.setMimeType(contentType); link.setRel("edit-media"); entry.addLink(link);
statusDoc.setMimeType(depositInfo.getDepositStatus() .getMimeType()); statusDoc.setRel(Link.REL_ALTERNATE); statusDoc.setTitle("Processing Status");