feed.setId(idBase + URLEncoder.encode(depositID, "UTF-8")); } catch (Exception e) { throw new RuntimeException(e); feed.setTitle("Status event feed for ingest " + depositID); feed.setUpdated(DateUtility.toIso8601(eventMap.lastKey())); feed.addAuthor("DCS ingest service"); feed.addEntry(getEntry(event)); feed.writeTo(out); } catch (Exception e) { throw new RuntimeException("Could not serialize "
feed.addAuthor(author); } else { feed.addAuthor("CXF JAX-RS"); feed.setTitle(title); } else { feed.setTitle(String.format(wrapper.getClass().getSimpleName() + " collection with %d entry(ies)", feed.getEntries().size())); feed.setId(id); } else { feed.setId("uuid:" + UUID.randomUUID().toString()); feed.setUpdated(updated); } else { feed.setUpdated(new Date()); if (links != null) { for (Map.Entry<String, String> entry : links.entrySet()) { feed.addLink(entry.getKey(), entry.getValue()); if (terms != null) { for (String term : terms) { feed.addCategory(term); feed.setLogo(logo); feed.setIcon(icon);
/** * {@inheritDoc} */ @Override protected ResponseContext buildGetFeedResponse(Feed feed) { // The same as in super class but without ETag. Document<Feed> document = feed.getDocument(); AbstractResponseContext rc = new BaseResponseContext<Document<Feed>>(document); // rc.setEntityTag(calculateEntityTag(document.getRoot())); return rc; }
private Document<Feed> init_feed_doc(Abdera abdera) { Factory factory = abdera.getFactory(); Feed feed = factory.newFeed(); try { feed.setId("tag:example.org,2006:feed"); feed.setTitle("Simple"); feed.setUpdated(new Date()); feed.addLink(""); feed.addLink("", "self"); feed.addAuthor("Simple"); } catch (Exception e) { e.printStackTrace(); } // FIXME: Document this exception return feed.getDocument(); }
public static void printAllPosts( GoogleService myService, String blogId) throws ServiceException, IOException { // Request the feed URL feedUrl = new URL("http://www.blogger.com/feeds/" + blogID + "/posts/default"); Feed resultFeed = myService.getFeed(feedUrl, Feed.class); // Print the results System.out.println(resultFeed.getTitle().getPlainText()); for (int i = 0; i < resultFeed.getEntries().size(); i++) { Entry entry = resultFeed.getEntries().get(i); System.out.println("\t" + entry.getTitle().getPlainText()); } System.out.println(); }
@Override public void process(RequestContext rc, AdapterResponse<Feed> adapterResponse) { final Feed f = adapterResponse.getBody(); // If there are no entries in the feed if (f == null || f.getEntries() == null || f.getEntries().isEmpty()) { return; } // Add an updated element to the feed final Calendar localNow = Calendar.getInstance(TimeZone.getDefault()); localNow.setTimeInMillis(System.currentTimeMillis()); f.setUpdated(localNow.getTime()); } }
hydratedFeed.setId(UUID_URI_SCHEME + UUID.randomUUID().toString()); hydratedFeed.setTitle(persistedEntries.get(0).getFeed()); hydratedFeed.addLink(new StringBuilder() .append(baseFeedUri).append(MARKER_EQ) .append(persistedEntries.get(0).getEntryId()) hydratedFeed.addLink(new StringBuilder().append(baseFeedUri) .append(MARKER_EQ).append(nextEntry.getEntryId()) .append(AND_LIMIT_EQ).append(String.valueOf(pageSize)) 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 ); hydratedFeed.addEntry(hydrateEntry(persistedFeedEntry, abdera)); if ( hydratedFeed.getEntries() != null && hydratedFeed.getEntries().size() < pageSize ) { LOG.warn("User requested " + getFeedRequest.getFeedName() + " feed with limit " + pageSize + ", but returning only " + hydratedFeed.getEntries().size()); List<Entry> entries = hydratedFeed.getEntries(); StringBuilder sb = new StringBuilder(); for (int idx=0; idx<entries.size(); idx++) { } else if ( hydratedFeed.getEntries() == null ) { LOG.warn("User requested " + getFeedRequest.getFeedName() + " feed with limit " + pageSize + ", but no entries are available");
protected void setDefaultFeedProperties(Feed feed, List<LogRecord> records) { if (feedBuilder != null) { feed.setId(feedBuilder.getId(records)); feed.addAuthor(feedBuilder.getAuthor(records)); feed.setTitle(feedBuilder.getTitle(records)); feed.setUpdated(feedBuilder.getUpdated(records)); feed.setBaseUri(feedBuilder.getBaseUri(records)); List<String> categories = feedBuilder.getCategories(records); if (categories != null) { for (String category : categories) { feed.addCategory(category); } } Map<String, String> links = feedBuilder.getLinks(records); if (links != null) { for (java.util.Map.Entry<String, String> mapEntry : links.entrySet()) { feed.addLink(mapEntry.getKey(), mapEntry.getValue()); } } } else { feed.setId("uuid:" + UUID.randomUUID().toString()); feed.addAuthor("CXF"); feed.setTitle("CXF Service Log Entries"); feed.setUpdated(new Date()); } }
private Feed doGetBookAsFeed(@Context UriInfo uParam) { Factory factory = Abdera.getNewFactory(); Feed f = factory.newFeed(); f.setBaseUri(uParam.getAbsolutePath().toString()); f.setTitle("Collection of Books"); f.setId("http://www.books.com"); f.addAuthor("BookStore Management Company"); try { for (Book b : books.values()) { Entry e = AtomUtils.createBookEntry(factory, b); f.addEntry(e); } } catch (Exception ex) { // ignore } return f; }
protected void setFeedFromCollection(Factory factory, Feed feed, Object wrapper, Class<?> wrapperCls, Object collection, Class<?> collectionCls, Type collectionType, boolean writerUsed) throws Exception { //CHECKSTYLE:ON Object[] arr = collectionCls.isArray() ? (Object[])collection : ((Collection<?>)collection).toArray(); Class<?> memberClass = InjectionUtils.getActualType(collectionType); for (Object o : arr) { Entry entry = createEntryFromObject(factory, o, memberClass); feed.addEntry(entry); } if (!writerUsed) { setFeedProperties(factory, feed, wrapper, wrapperCls, collection, collectionCls, collectionType); } }
@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); }
/** * {@inheritDoc} */ @Override protected void addPageLinks(String changeLogToken, Feed feed, String atomdocType, int maxItems, int skipCount, int total, boolean hasMore, RequestContext request) { Map<String, String> params = new HashMap<String, String>(); params.put("repoid", getRepositoryId(request)); params.put("atomdoctype", atomdocType); params.put(AtomCMIS.PARAM_CHANGE_LOG_TOKEN, changeLogToken); // Only next link will be provided. Next link may be provided even // there is no more change events yet. Client should revisit the // feed in future to get new set of changes. if (maxItems != CmisConstants.MAX_ITEMS) params.put(AtomCMIS.PARAM_MAX_ITEMS, Integer.toString(maxItems)); feed.addLink(request.absoluteUrlFor("feed", params), AtomCMIS.LINK_NEXT, AtomCMIS.MEDIATYPE_ATOM_FEED, null, null, -1); }
feed.addLink(down, AtomCMIS.LINK_DOWN, AtomCMIS.MEDIATYPE_ATOM_FEED, null, null, -1); feed.addLink(typeLink, AtomCMIS.LINK_VIA, AtomCMIS.MEDIATYPE_ATOM_ENTRY, null, null, -1); feed.addLink(parent, AtomCMIS.LINK_UP, AtomCMIS.MEDIATYPE_ATOM_ENTRY, null, null, -1); Entry e = feed.addEntry(); IRI feedIri = new IRI(getFeedIriForEntry(typeContainer.getContainer(), request)); addEntryDetails(request, e, feedIri, typeContainer.getContainer());
feed.setTitle(dv.getName()); String baseUrl = urlManager.getHostnamePlusBaseUrlPath(iri.toString()); List<Dataset> datasets = datasetService.findByOwnerId(dv.getId()); Entry entry = feed.addEntry(); entry.setId(editUri); entry.setTitle(datasetService.getTitleFromLatestVersion(dataset.getId())); entry.setBaseUri(new IRI(editUri)); entry.addLink(editMediaUri, "edit-media"); feed.addEntry(entry); feed.addSimpleExtension(new QName(UriRegistry.SWORD_STATE, "dataverseHasBeenReleased"), dvHasBeenReleased.toString()); return feed; } else {
Element numItems = feed.addExtension(AtomCMIS.NUM_ITEMS); numItems.setText(Integer.toString(list.size())); Entry e = feed.addEntry(); IRI feedIri = new IRI(getFeedIriForEntry(one, request)); addEntryDetails(request, e, feedIri, one);
private void addAtomManagedDatastream(Feed feed, String contentLocation) throws Exception { String dsId = "DS"; Entry dsEntry = feed.addEntry(); dsEntry.setId(feed.getId().toString() + "/" + dsId); Entry dsvEntry = feed.addEntry(); dsvEntry.setId(dsEntry.getId().toString() + "/" + feed.getUpdatedString()); dsEntry.setTitle(feed.getTitle()); dsEntry.setUpdated(feed.getUpdated()); dsEntry.addLink(dsvEntry.getId().toString(), Link.REL_ALTERNATE); dsEntry.addCategory(MODEL.STATE.uri, "A", null); dsEntry.addCategory(MODEL.CONTROL_GROUP.uri, "M", null); dsEntry.addCategory(MODEL.VERSIONABLE.uri, "true", null); dsvEntry.setTitle(feed.getTitle()); dsvEntry.setUpdated(feed.getUpdated()); ThreadHelper.addInReplyTo(dsvEntry, dsEntry.getId()); dsvEntry.setSummary("summary"); dsvEntry.setContent(new IRI(contentLocation), "text/plain"); }
/** * Adds the selected entries to the Feed document. By default, this will set the feed's atom:updated element to the * current date and time */ protected void addFeedDetails(Feed feed, RequestContext request) throws ResponseContextException { feed.setUpdated(new Date()); Iterable<T> entries = getEntries(request); if (entries != null) { for (T entryObj : entries) { Entry e = feed.addEntry(); IRI feedIri = new IRI(getFeedIriForEntry(entryObj, request)); addEntryDetails(request, e, feedIri, entryObj); if (isMediaEntry(entryObj)) { addMediaContent(feedIri, e, entryObj, request); } else { addContent(e, entryObj, request); } } } }
protected Feed createFeedFromCollectionWrapper(Factory factory, Object o, Class<?> pojoClass) throws Exception { Feed feed = factory.newFeed(); boolean writerUsed = buildFeed(feed, o, pojoClass); if (feed.getEntries().size() > 0) { return feed; } String methodName = getCollectionMethod(o.getClass(), true); Object collection = null; Method m = null; try { m = o.getClass().getMethod(methodName, new Class[]{}); collection = m.invoke(o, new Object[]{}); } catch (Exception ex) { reportError("Collection for " + o.getClass().getName() + " can not be retrieved", ex); } setFeedFromCollection(factory, feed, o, pojoClass, collection, m.getReturnType(), m.getGenericReturnType(), writerUsed); return feed; }
public InputStream disseminate(Context context, Item item) throws DSpaceSwordException, SwordError, SwordServerException { try { Abdera abdera = new Abdera(); Feed feed = abdera.newFeed(); this.addMetadata(feed, item); List<Bundle> bundles = item.getBundles(); for (Bundle bundle : bundles) { if (Constants.CONTENT_BUNDLE_NAME.equals(bundle.getName())) { List<Bitstream> bitstreams = bundle .getBitstreams(); for (Bitstream bitstream : bitstreams) { Entry entry = feed.addEntry(); this.populateEntry(context, entry, bitstream); } } } ByteArrayOutputStream baos = new ByteArrayOutputStream(); feed.writeTo(baos); return new ByteArrayInputStream(baos.toByteArray()); } catch (IOException e) { throw new DSpaceSwordException(e); } }
protected void setFeedPageProperties(Feed feed, int page, int lastPage) { String self = context.getUriInfo().getAbsolutePath().toString(); feed.addLink(self, "self"); int feedSize = feed.getEntries().size(); String searchExpression = getSearchExpression(); feed.addLink(uri + "/alternate/" + page, "alternate"); if (recordsSize != -1) { if (page > 2) { feed.addLink(createLinkUri(uri, searchExpression), "first"); feed.addLink(createLinkUri(uri + "/" + (lastPage + 1), searchExpression), "next"); feed.addLink(uri + "/" + (recordsSize / pageSize + 1), "last"); feed.addLink(createLinkUri(uri + "/" + (lastPage + 1), searchExpression), "next"); feed.addLink(createLinkUri(uri, searchExpression), "previous");