Package com.sun.syndication.feed.synd

Examples of com.sun.syndication.feed.synd.SyndEntryImpl


        }
        return syndEntries;
    }

    protected SyndEntry createSyndEntry(Feed feed, Entry entry, boolean preserveWireItem) {
      SyndEntryImpl syndEntry = new SyndEntryImpl();
      if (preserveWireItem) {
        syndEntry.setWireEntry(entry);
      }
        syndEntry.setModules(ModuleUtils.cloneModules(entry.getModules()));
       
        if (((List)entry.getForeignMarkup()).size() 0) {
            syndEntry.setForeignMarkup((List)entry.getForeignMarkup());
        }

        Content eTitle = entry.getTitleEx();
        if (eTitle != null) {
            syndEntry.setTitleEx(createSyndContent(eTitle));
        }
       
        Content summary = entry.getSummary();
        if (summary!=null) {
            syndEntry.setDescription(createSyndContent(summary));
        }

        List contents = entry.getContents();
        if (contents != null && contents.size() > 0) {
            List sContents = new ArrayList();
            for (Iterator iter=contents.iterator(); iter.hasNext();) {
                Content content = (Content)iter.next();
                sContents.add(createSyndContent(content));
            }
            syndEntry.setContents(sContents);
        }

        List authors = entry.getAuthors();
        if (authors!=null && authors.size() > 0) {
            syndEntry.setAuthors(ConverterForAtom03.createSyndPersons(authors));
            SyndPerson person0 = (SyndPerson)syndEntry.getAuthors().get(0);
            syndEntry.setAuthor(person0.getName());
        }

        List contributors = entry.getContributors();
        if (contributors!=null && contributors.size() > 0) {
            syndEntry.setContributors(ConverterForAtom03.createSyndPersons(contributors));
        }

        Date date = entry.getPublished();
        if (date!=null) {
            syndEntry.setPublishedDate(date);
        }

        date = entry.getUpdated();
        if (date!=null) {
            syndEntry.setUpdatedDate(date);
        }
       
        List categories = entry.getCategories();
        if (categories!=null) {
            List syndCategories = new ArrayList();
            for (Iterator iter=categories.iterator(); iter.hasNext();) {
                Category c = (Category)iter.next();
                SyndCategory syndCategory = new SyndCategoryImpl();
                syndCategory.setName(c.getTerm());
                syndCategory.setTaxonomyUri(c.getSchemeResolved());
                // TODO: categories MAY have labels
                //       syndCategory.setLabel(c.getLabel());
                syndCategories.add(syndCategory);
            }
            syndEntry.setCategories(syndCategories);
        }
               
        // use first alternate link as THE link
        if (entry.getAlternateLinks() != null
        && entry.getAlternateLinks().size() > 0) {
            Link theLink = (Link)entry.getAlternateLinks().get(0);
            syndEntry.setLink(theLink.getHrefResolved());
        }

        // Create synd enclosures from enclosure links
        List syndEnclosures = new ArrayList();
        if (entry.getOtherLinks() != null && entry.getOtherLinks().size() > 0) {
            List oLinks = entry.getOtherLinks();
            for (Iterator iter = oLinks.iterator(); iter.hasNext(); ) {
                Link thisLink = (Link)iter.next();
                if ("enclosure".equals(thisLink.getRel()))
                    syndEnclosures.add(
                            createSyndEnclosure(feed, entry, thisLink));
            }
        }
        syndEntry.setEnclosures(syndEnclosures);

        // lump alternate and other links together
        List syndLinks = new ArrayList();
        if (entry.getAlternateLinks() != null
                && entry.getAlternateLinks().size() > 0) {
            syndLinks.addAll(createSyndLinks(entry.getAlternateLinks()));
        }
        if (entry.getOtherLinks() != null
                && entry.getOtherLinks().size() > 0) {
            syndLinks.addAll(createSyndLinks(entry.getOtherLinks()));
        }
        syndEntry.setLinks(syndLinks);

        String id = entry.getId();
        if (id!=null) {
            syndEntry.setUri(entry.getId());
        }
        else {
            syndEntry.setUri(syndEntry.getLink());
        }

        // Convert source element Feed into SyndFeed and assign as SyndEntry
        // source
        Feed source = entry.getSource();
        if (source != null) {
          SyndFeed syndSource = new SyndFeedImpl(source);
          syndEntry.setSource(syndSource);
        }

        return syndEntry;
    }
View Full Code Here


        DateTime datetime = new DateTime(2011, 1, 1, 0, 0, 0, 0);
        DateTimeFormatter df = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        List<SyndEntry> entries = new LinkedList<SyndEntry>();
        for (int i = 0; i < 9; i++) {
            SyndEntry entry = new SyndEntryImpl();
            entry.setTitle("テスト" + i);
            SyndContent description = new SyndContentImpl();
            description.setValue("テスト説明" + i);
            entry.setDescription(description);
            entry.setLink("http://ryu22e.org/" + i);

            NicoliveModule module = new NicoliveModule();
            module.setOpenTime(datetime.minusDays(i).toString(df));
            module.setStartTime(datetime
                .minusDays(i)
                .plusMinutes(10)
                .toString(df));
            module.setType("official");
            entry.getModules().add(module);

            entries.add(entry);
        }
        // NicoliveModuleなしのデータも含める。
        SyndEntry invalidEntry = new SyndEntryImpl();
        invalidEntry.setTitle("NicoliveModuleなしデータ");
        SyndContent description = new SyndContentImpl();
        description.setValue("テスト説明");
        invalidEntry.setDescription(description);
        invalidEntry.setLink("http://ryu22e.org/");
        entries.add(invalidEntry);

        feed.setEntries(entries);

        return feed;
View Full Code Here

        output.output(feed, writer);
    }
   
    @SuppressWarnings("unchecked")   
    private SyndEntry createFeedItem(Object annotatedObject) throws Exception {
        SyndEntry syndEntry     = new SyndEntryImpl();
        Class     feedItemClass = annotatedObject.getClass();
     
        String title        = null;
        String description  = null;           
        String link         = null;
        String category     = null;        
        String author       = null;                    
       
        for (Method method : feedItemClass.getMethods()) {
           
            if (method.getAnnotation(ItemTitle.class) != null) {
                title = (String) method.invoke(annotatedObject);
            } else if (method.getAnnotation(ItemDescription.class) != null) {
                description = (String) method.invoke(annotatedObject);
            } else if (method.getAnnotation(ItemLink.class) != null) {
                link = (String) method.invoke(annotatedObject);
            } else if (method.getAnnotation(ItemCategory.class) != null) {
                category = (String) method.invoke(annotatedObject);
            } else if (method.getAnnotation(ItemAuthor.class) != null) {
                author = (String) method.invoke(annotatedObject);
            }
        }
       
        // Try to look for the feed item values automatically ...
        if (title == null) {
          try {
            title = (String) annotatedObject.getClass().getMethod("getTitle").invoke(annotatedObject);
          } catch (Exception exception) {
            title = "Default Title";
          }
        }
       
        if (description == null) {
          try {
            description = (String) annotatedObject.getClass().getMethod("getDescription").invoke(annotatedObject);
          } catch (Exception exception) {
            description = "Default Description";
          }
        }
       
        if (link == null) {
          try {
            link = (String) annotatedObject.getClass().getMethod("getLink").invoke(annotatedObject);
          } catch (Exception exception) {
            link = "http://";
          }
        }
       
        if (category == null) {
          try {
            category = (String) annotatedObject.getClass().getMethod("getCategory").invoke(annotatedObject);
          } catch (Exception exception) {
            category = "Default Category";
          }
        }
       
        if (author == null) {
          try {
            author = (String) annotatedObject.getClass().getMethod("getAuthor").invoke(annotatedObject);
          } catch (Exception exception) {
            author = "Default Author";
          }
        }           
       
        // category.
        List<SyndCategory> categories = new ArrayList<SyndCategory>();
       
        SyndCategory syndCategory = new SyndCategoryImpl();
        syndCategory.setName(category);
        categories.add(syndCategory);
       
        syndEntry.setCategories(categories);
       
        // description.
        SyndContent descriptionContent = new SyndContentImpl();
       
        descriptionContent.setType("text/html");
        descriptionContent.setValue(description);
        syndEntry.setDescription(descriptionContent);
       
        // title, link, author, categories.
        syndEntry.setTitle(title);
        syndEntry.setLink(link);
        syndEntry.setAuthor(author);
       
        return syndEntry;
    }    
View Full Code Here

            {
                if (itemDSO.getType() != Constants.ITEM)
                    continue;
                Item item = (Item)itemDSO;
                boolean hasDate = false;
                SyndEntry entry = new SyndEntryImpl();
                entries.add(entry);
            
                String entryURL = resolveURL(request, item);
                entry.setLink(entryURL);
                entry.setUri(entryURL);
            
                String title = getOneDC(item, titleField);
                entry.setTitle(title == null ? localize(labels, MSG_UNTITLED) : title);
            
                // "published" date -- should be dc.date.issued
                String pubDate = getOneDC(item, dateField);
                if (pubDate != null)
                {
                    entry.setPublishedDate((new DCDate(pubDate)).toDate());
                    hasDate = true;
                }
                // date of last change to Item
                entry.setUpdatedDate(item.getLastModified());
            
                StringBuffer db = new StringBuffer();
                for (String df : descriptionFields)
                {
                    // Special Case: "(date)" in field name means render as date
                    boolean isDate = df.indexOf("(date)") > 0;
                    if (isDate)
                        df = df.replaceAll("\\(date\\)", "");
            
                    DCValue dcv[] = item.getMetadata(df);
                    if (dcv.length > 0)
                    {
                        String fieldLabel = labels.get(MSG_METADATA + df);
                        if (fieldLabel != null && fieldLabel.length()>0)
                            db.append(fieldLabel + ": ");
                        boolean first = true;
                        for (DCValue v : dcv)
                        {
                            if (first)
                                first = false;
                            else
                                db.append("; ");
                            db.append(isDate ? new DCDate(v.value).toString() : v.value);
                        }
                        db.append("\n");
                    }
                }
                if (db.length() > 0)
                {
                    SyndContent desc = new SyndContentImpl();
                    desc.setType("text/plain");
                    desc.setValue(db.toString());
                    entry.setDescription(desc);
                }

                // This gets the authors into an ATOM feed
                DCValue authors[] = item.getMetadata(authorField);
                if (authors.length > 0)
                {
                    List<SyndPerson> creators = new ArrayList<SyndPerson>();
                    for (DCValue author : authors)
                    {
                        SyndPerson sp = new SyndPersonImpl();
                        sp.setName(author.value);
                        creators.add(sp);
                    }
                    entry.setAuthors(creators);
                }

                // only add DC module if any DC fields are configured
                if (dcCreatorField != null || dcDateField != null ||
                    dcDescriptionField != null)
                {
                    DCModule dc = new DCModuleImpl();
                    if (dcCreatorField != null)
                    {
                        DCValue dcAuthors[] = item.getMetadata(dcCreatorField);
                        if (dcAuthors.length > 0)
                        {
                            List<String> creators = new ArrayList<String>();
                            for (DCValue author : dcAuthors)
                                creators.add(author.value);
                            dc.setCreators(creators);
                        }
                    }
                    if (dcDateField != null && !hasDate)
                    {
                        DCValue v[] = item.getMetadata(dcDateField);
                        if (v.length > 0)
                            dc.setDate((new DCDate(v[0].value)).toDate());
                    }
                    if (dcDescriptionField != null)
                    {
                        DCValue v[] = item.getMetadata(dcDescriptionField);
                        if (v.length > 0)
                        {
                            StringBuffer descs = new StringBuffer();
                            for (DCValue d : v)
                            {
                                if (descs.length() > 0)
                                    descs.append("\n\n");
                                descs.append(d.value);
                            }
                            dc.setDescription(descs.toString());
                        }
                    }
                    entry.getModules().add(dc);
                }
            }
            feed.setEntries(entries);
        }
    }
View Full Code Here

      for(ChangeBean change:changes)
      {
        SyndEntry entry;
        SyndContent description;
   
        entry = new SyndEntryImpl();
        XfoafSscfResource changeRes = null;
        XfoafSscfResource changedRes = null;
       
        changedRes = XfoafSscfResource.getXfoafSscfResource(change.getChangedUri());
        if((change.getChangeType()==ChangeTypes.ADDED.getChangeType()
View Full Code Here

          "There was a problem accessing the feed: ", ex);
    }
  }

  private boolean feedHasFailures(SyndFeed feed) {
    SyndEntryImpl entry = this.getLatestEntry(feed);

    if (this.buildStatusExtractor.getBuildStatus(entry).equals(
        BuildStatus.Failure)) {
      return true;
    }
View Full Code Here

        SyndEntry entry;
        SyndContent description;

        for ( RssFeedEntry dataEntry : dataEntries )
        {
            entry = new SyndEntryImpl();
            entry.setTitle( dataEntry.getTitle() );
            entry.setPublishedDate( dataEntry.getPublishedDate() );

            description = new SyndContentImpl();
            description.setType( "text/plain" );
View Full Code Here

        }
        return feed;
    }

    protected SyndEntry createEntry(QueueBrowser browser, Message message, HttpServletRequest request) throws JMSException {
        SyndEntry entry = new SyndEntryImpl();
        String title = message.getJMSMessageID();
        entry.setTitle(title);
        String link = request.getRequestURI() + "?msgId=" + title;
        entry.setLink(link);
        entry.setPublishedDate(new Date());
        return entry;
    }
View Full Code Here

        temp.addAll(entries);
        feed.setEntries(temp);
    }

    protected SyndEntry createEntry(MessageExchange exchange, NormalizedMessage message) throws MessagingException {
        SyndEntry entry = new SyndEntryImpl();

        entry.setTitle(ExpressionHelper.asString(getEntryTitle(), exchange, message, "ServiceMix Feed"));
        entry.setLink(getLink());
        entry.setPublishedDate(new Date());
        return entry;
    }
View Full Code Here

      feed.setLink(BaseUrlHolder.get() + "/service/siesta/feeds/" + feedSource.getFeedKey());


      final List<SyndEntry> entries = Lists.newArrayListWithCapacity(feedEvents.size());
      for (FeedEvent event : feedEvents) {
        final SyndEntry entry = new SyndEntryImpl();
        entry.setTitle(feedContentRenderer.getTitle(event));
        entry.setPublishedDate(event.getPublished());
        if (event.getAuthor() != null) {
          entry.setAuthor(event.getAuthor());
        }
        else {
          entry.setAuthor(feed.getAuthor());
        }
        if (event.getLink() != null) {
          if (event.getLink().startsWith("http:") || event.getLink().startsWith("https:")) {
            // this is full URL, use it as is
            entry.setLink(event.getLink());
          }
          else {
            entry.setLink(BaseUrlHolder.get() + event.getLink());
          }
        }
        final SyndContent content = new SyndContentImpl();
        content.setType(feedContentRenderer.getContentType(event));
        content.setValue(feedContentRenderer.getContent(event));
        entry.setDescription(content);
        entries.add(entry);
      }
      feed.setEntries(entries);
      return feed;
    }
View Full Code Here

TOP

Related Classes of com.sun.syndication.feed.synd.SyndEntryImpl

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.