Package org.apache.wink.common.model.synd

Examples of org.apache.wink.common.model.synd.SyndFeed


    @Produces
    public SyndFeed getSyndFeed(@Context Providers providers,
                                @Context LinkBuilders linkProcessor,
                                @Context UriInfo uriInfo) {
        SyndFeed synd = new SyndFeed();
        synd.setId("urn:com:hp:qadefects:tests");
        synd.setTitle(new SyndText("Tests"));
        synd.addAuthor(new SyndPerson("admin"));
        synd.setUpdated(new Date());

        // set the entries
        for (TestBean test : tests) {
            TestAsset testAsset = new TestAsset(test, true);
            SyndEntry entry = testAsset.getSyndEntry(providers, uriInfo, linkProcessor);
            synd.addEntry(entry);
        }

        synd.setBase(uriInfo.getAbsolutePath().toString());
        linkProcessor.createSystemLinksBuilder().build(synd.getLinks());
        return synd;
    }
View Full Code Here


     *         Json
     */
    @GET
    @Produces( {MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
    public SyndFeed getBookmarks(@Context LinkBuilders linkBuilders, @Context UriInfo uriInfo) {
        SyndFeed feed = new SyndFeed();
        feed.setId("urn:collection:bookmarks");
        feed.setTitle(new SyndText("My Bookmarks"));
        feed.setUpdated(new Date());
        feed.setBase(uriInfo.getAbsolutePath().toString());

        // add entries to the feed, based on the existing bookmarks in the
        // memory store
        // (feed entries have no content, they have just metadata so there is no
        // need to set content
        // here)
        Map<String, String> bookmarks = BookmarkStore.getInstance().getBookmarks();

        SystemLinksBuilder entryLinksBuilder = linkBuilders.createSystemLinksBuilder();
        for (String key : bookmarks.keySet()) {
            // set the sub-resource state of the builder for this entry
            entryLinksBuilder.subResource(key);
            SyndEntry entry = createEntry(key, bookmarks.get(key), entryLinksBuilder, null);
            feed.addEntry(entry);
        }
        // generate collection links in the response
        linkBuilders.createSystemLinksBuilder().build(feed.getLinks());
        return feed;
    }
View Full Code Here

    @Produces
    public SyndFeed getSyndFeed(@Context Providers providers,
                                @Context LinkBuilders linkProcessor,
                                @Context UriInfo uriInfo) {
        SyndFeed synd = new SyndFeed();
        synd.setId("urn:com:hp:qadefects:defects");
        synd.setTitle(new SyndText("Defects"));
        synd.addAuthor(new SyndPerson("admin"));
        synd.setUpdated(new Date());

        // set the entries
        for (DefectBean defect : defects) {
            DefectAsset defectAsset = new DefectAsset(defect, true);
            SyndEntry entry = defectAsset.getSyndEntry(providers, uriInfo, linkProcessor);
            synd.addEntry(entry);
        }

        synd.setBase(uriInfo.getAbsolutePath().toString());
        linkProcessor.createSystemLinksBuilder().build(synd.getLinks());
        return synd;
    }
View Full Code Here

    @Produces
    public SyndFeed getSyndFeed(@Context Providers providers,
                                @Context LinkBuilders linkBuilders,
                                @Context UriInfo uriInfo) {
        SyndFeed synd = new SyndFeed();
        synd.setId("urn:com:hp:qadefects:defects");
        synd.setTitle(new SyndText("Defects"));
        synd.addAuthor(new SyndPerson("admin"));
        synd.setUpdated(new Date());

        // set the entries
        for (DefectBean defect : getDefects()) {
            DefectAsset defectAsset = new DefectAsset(defect, true);
            SyndEntry entry = defectAsset.getSyndEntry(providers, uriInfo, linkBuilders);
            synd.addEntry(entry);
        }

        synd.setBase(uriInfo.getAbsolutePath().toString());
        linkBuilders.createSystemLinksBuilder().build(synd.getLinks());
        return synd;
    }
View Full Code Here

        // the properties of entries in the collection.
        WebDAVResponseBuilder.CollectionPropertyHandler handler =
            new WebDAVResponseBuilder.CollectionPropertyHandler(new DefectPropertyHandler());

        // get the feed of the defects
        SyndFeed feed =
            super.getDefects(null, null, null).getSyndFeed(providers, linkProcessor, uriInfo);
        // use the feed to create the propfind response
        String depth = headers.getRequestHeaders().getFirst(WebDAVHeaders.DEPTH);
        return WebDAVResponseBuilder.create(uriInfo).propfind(feed, body, depth, handler);
    }
View Full Code Here

    public SyndFeed getUsers(@Context LinkBuilders linkBuilders) {

        // Build SyndFeed that holds users collection.
        // Generate a system links for collection and for each collection member
        // by using LinkBuilders
        SyndFeed usersSyndFeed = createUsersSyndFeed(users.values(), linkBuilders);

        return usersSyndFeed;
    }
View Full Code Here

     * @param users collection
     * @param linkBuilders reference to LinkBuilders instance
     * @return SyndFeed syndication feed
     */
    private SyndFeed createUsersSyndFeed(Collection<User> users, LinkBuilders linkBuilders) {
        SyndFeed usersSyndFeed = new SyndFeed();
        usersSyndFeed.setId("urn:com:hp:users");
        usersSyndFeed.setTitle(new SyndText("Users"));
        usersSyndFeed.addAuthor(new SyndPerson("admin"));
        usersSyndFeed.setUpdated(new Date());

        // 1. Generate collection system links: "edit", "alternate"
        linkBuilders.createSystemLinksBuilder(). // Create SystemLinksBuilder
            build(usersSyndFeed.getLinks()); // Build all system links

        // 2. Add "custom" collection link with type "search". Make it always be
        // absolute
        linkBuilders.createSingleLinkBuilder(). // Create instance of
                                                // SingleLinkBuilder
            queryParam("q", "username"). // Set link query parameter
            rel("search"). // Set link relation type
            relativize(false). // Create absolute URI
            build(usersSyndFeed.getLinks()); // Build link

        // 3. Populate and set the collection members
        for (User user : users) {
            SyndEntry userSyndEntry = createUserSyndEntry(user);

            // generate collection member (single user) system links: "edit",
            // "alternate"
            // all link must be relative to users collection URI "users"
            linkBuilders.createSystemLinksBuilder().subResource(userSyndEntry.getId())
                .build(userSyndEntry.getLinks());

            usersSyndFeed.addEntry(userSyndEntry);
        }
        return usersSyndFeed;
    }
View Full Code Here

     */
    @Produces
    public SyndFeed getSyndFeed(@Context Providers providers,
                                @Context LinkBuilders linkBuilders,
                                @Context UriInfo uriInfo) {
        SyndFeed feed = new SyndFeed();
        feed.setId("urn:com:hp:qadefects:defects");
        feed.setTitle(new SyndText("Defects"));
        feed.addAuthor(new SyndPerson("admin"));
        feed.setUpdated(new Date());

        feed.setBase(uriInfo.getAbsolutePath().toString());

        boolean editable = true;

        SystemLinksBuilder systemLinksBuilder = linkBuilders.createSystemLinksBuilder();

        // generate history links
        if (history) {
            // all defects in the collection are the history of the same defect
            // and they all have the
            // same defect id, so we can use the id of the first one
            systemLinksBuilder.subResource(DefectsResource.DEFECT_HISTORY_URL)
                .pathParam(DefectsResource.DEFECT_VAR, defects.get(0).getId()).build(feed
                    .getLinks());
            if (!defects.isEmpty()) {
                // if this is a history of a defect, then the last defect in the
                // list is the latest state of the defect
                editable = !(defects.get(defects.size() - 1).isDeleted());
            }
        } else {
            // generate system links
            systemLinksBuilder.build(feed.getLinks());
        }

        // set the entries
        for (DefectBean defect : defects) {
            DefectAsset defectAsset = new DefectAsset(defect, true, history);
            // set whether to generate the edit link or not
            defectAsset.setEditable(editable);
            SyndEntry entry = defectAsset.getSyndEntry(providers, uriInfo, linkBuilders);
            // we don't want content for entries
            entry.setContent(null);
            feed.addEntry(entry);
        }

        return feed;
    }
View Full Code Here

     * @return syndFeed
     */
    @GET
    @Produces( {MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
    public SyndFeed getBookmarks(@Context LinkBuilders linksBuilders, @Context UriInfo uriInfo) {
        SyndFeed feed = new SyndFeed();
        feed.setId("urn:collection:bookmarks");
        feed.setTitle(new SyndText("My Bookmarks"));
        feed.setUpdated(new Date());
        feed.setBase(uriInfo.getAbsolutePath().toString());

        // add entries to the feed, based on the existing bookmarks in the
        // memory store
        // (feed entries have no content, they have just metadata so there is no
        // need to set content
        // here)
        Map<String, String> bookmarks = BookmarkStore.getInstance().getBookmarks();

        for (String key : bookmarks.keySet()) {

            SyndEntry entry = createEntry(key, bookmarks.get(key), uriInfo);

            // Generate system links to sub-resource
            linksBuilders.createSystemLinksBuilder().subResource(SUB_RESOURCE_PATH)
                .pathParam(BOOKMARK, key).build(entry.getLinks());

            // Add entry to Feed
            feed.addEntry(entry);
        }

        // Generate system links for the resource;
        linksBuilders.createSystemLinksBuilder().build(feed.getLinks());

        return feed;
    }
View Full Code Here

                             MediaType mediaType,
                             MultivaluedMap<String, String> httpHeaders,
                             InputStream entityStream) throws IOException, WebApplicationException {
        AtomFeed feed =
            readFeed(AtomFeed.class, genericType, annotations, mediaType, httpHeaders, entityStream);
        return feed.toSynd(new SyndFeed());
    }
View Full Code Here

TOP

Related Classes of org.apache.wink.common.model.synd.SyndFeed

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.