Package com.sun.syndication.feed.synd

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


        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


    public CustomerCollectionImpl() {

        for (int i = 0; i < 4; i++) {
            String id = "urn:uuid:customer-" + UUID.randomUUID().toString();

            SyndEntry entry = new SyndEntryImpl();
            entry.setTitle("customer " + "Jane Doe_" + String.valueOf(i));
            entry.setUri(id);

            SyndContent content = new SyndContentImpl();
            content.setValue("Jane Doe_" + String.valueOf(i));
            content.setType("text");
            entry.setContents(Collections.singletonList(content));

            List<SyndLink> links = new ArrayList<SyndLink>();
            SyndLink link = new SyndLinkImpl();
            link.setRel("edit");
            link.setHref("" + id);
            links.add(link);
            entry.setLinks(links);

            links = new ArrayList<SyndLink>();
            link = new SyndLinkImpl();
            link.setRel("alternate");
            link.setHref("" + id);
            links.add(link);
            entry.setLinks(links);

            entry.setPublishedDate(new Date());

            entries.put(id, entry);
            System.out.println(">>> id=" + id);
        }
    }
View Full Code Here

        Object key = entry.getKey();
        Object data = entry.getData();
        if (data instanceof Item) {
            Item item = (Item)data;
           
            SyndEntry feedEntry = new SyndEntryImpl();
            feedEntry.setUri(key.toString());
            feedEntry.setTitle(item.getTitle());
   
            String value = item.getContents();
            if (value != null) {
                SyndContent content = new SyndContentImpl();
                content.setType("text/xml");
                content.setValue(value);
                List<SyndContent> contents = new ArrayList<SyndContent>();
                contents.add(content);
                feedEntry.setContents(contents);
            }
   
            String href = item.getLink();
            if (href == null) {
                href = key.toString();
            }
            SyndLink link = new SyndLinkImpl();
            link.setRel("edit");
            link.setHref(href);
            feedEntry.getLinks().add(link);
            link = new SyndLinkImpl();
            link.setRel("alternate");
            link.setHref(href);
            feedEntry.getLinks().add(link);
            feedEntry.setLink(href);
   
            Date date = item.getDate();
            if (date == null) {
                date = new Date();
            }
            feedEntry.setPublishedDate(date);
            return feedEntry;
           
        } else if (data != null) {
            SyndEntry feedEntry = new SyndEntryImpl();
            feedEntry.setUri(key.toString());
            feedEntry.setTitle("item");
   
            // Convert the item to XML
            String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString();
           
            SyndContent content = new SyndContentImpl();
            content.setType("text/xml");
            content.setValue(value);
            List<SyndContent> contents = new ArrayList<SyndContent>();
            contents.add(content);
            feedEntry.setContents(contents);
   
            SyndLink link = new SyndLinkImpl();
            link.setRel("edit");
            link.setHref(key.toString());
            feedEntry.getLinks().add(link);
            link = new SyndLinkImpl();
            link.setRel("alternate");
            link.setHref(key.toString());
            feedEntry.getLinks().add(link);
   
            feedEntry.setPublishedDate(new Date());
            return feedEntry;
        } else {
            return null;
        }
    }
View Full Code Here

              JavaNodeAdapter.fromHtml(narrative.getContent()), MAXIMUM_SNIPPET_LENGTH));
        } else {
          content.setValue(narrativeSummary);
        }
      }
      SyndEntry entry = new SyndEntryImpl();
      entry.setLink(createContentItemUrl(req, update.getId()));
      entry.setPublishedDate(update.getDateSortKey());
      entry.setTitleEx(title);
      entry.setDescription(content);
      items.add(entry);
    }
   
    feed.setEntries(items);
    return feed;
View Full Code Here

  }

  private List<String> getContent(List entries) throws IOException {
    List<String> result = new ArrayList<>();
    for (Object entry : entries) {
      SyndEntryImpl syndEntry = (SyndEntryImpl) entry;
      System.out.println("  Getting " + syndEntry.getUri());
      String json = getPageContent(syndEntry.getUri());
      ObjectMapper mapper = new ObjectMapper();
      Map map = mapper.readValue(json, Map.class);
      //System.out.println("json: " + json);
      //System.out.println("map: " + o);
      //System.out.println("content: " + o.get("content"));
View Full Code Here

    }
    return entries;
  }

  private SyndEntry createEntry(ContentRecordVO contentVO, String langCode, String feedLink, HttpServletRequest req, HttpServletResponse resp) throws ApsSystemException {
    SyndEntry entry = new SyndEntryImpl();
    RssContentMapping mapping = this.getContentMapping().get(contentVO.getTypeCode());
    try {
      Content content = (Content) this.getContentManager().loadContent(contentVO.getId(), true);
      ITextAttribute titleAttr = (ITextAttribute) content.getAttribute(mapping.getTitleAttributeName());
      String title = (titleAttr.getTextForLang(langCode));
      if (null == title || title.trim().length() == 0) {
        title = titleAttr.getText();
      }
      entry.setTitle(title);
      String link = this.createLink(content, feedLink);
      entry.setLink(link);
      entry.setPublishedDate(contentVO.getModify());
      ITextAttribute descrAttr = (ITextAttribute) content.getAttribute(mapping.getDescriptionAttributeName());
      if (null != descrAttr) {
        SyndContent description = new SyndContentImpl();
        description.setType(JpRssSystemConstants.SYNDCONTENT_TYPE_TEXTHTML);
        String inLang = descrAttr.getTextForLang(langCode);
        //TODO Ottimizzare!
        RequestContext requestContext = new RequestContext();
        requestContext.setRequest(req);
        requestContext.setResponse(resp);
        if (null != inLang && inLang.length() >0) {
          String textValue = this.getLinkResolver().resolveLinks(inLang, requestContext);
          if (null != textValue && textValue.trim().length()>0) {
            description.setValue(textValue);
          } else {
            description.setValue(descrAttr.getText());
          }
        } else {
          String textValue =  this.getLinkResolver().resolveLinks(descrAttr.getText(), requestContext);
          description.setValue(textValue);
        }
        entry.setDescription(description);
      }
    } catch (Throwable t) {
      ApsSystemUtils.logThrowable(t, this, "createEntry");
      throw new ApsSystemException("Error in createEntry", t);
    }
View Full Code Here

      List<SyndEntryImpl> entries = this.getRssEntries(IRssConverterManager.RSS_2_0, item.getLink());
      if(null == entries) return contents;
      Iterator<SyndEntryImpl> entriesIt = entries.iterator();
      String linkAttributeName = aggregatorConfig.getLinkAttributeName();// this.getLinkAttributeName(typeCode);
      while (entriesIt.hasNext()) {
        SyndEntryImpl feedItem = entriesIt.next();
        String link = feedItem.getLink();
        Content content = this.getExistingContent(link, linkAttributeName, item.getContentType());
        if (null == content) {
          String typeCode = aggregatorConfig.getContentType();
          content = this.getContentManager().createContentType(typeCode);
        }
View Full Code Here

      SyndFeed feed = input.build(xmlReader);

      Object[] arraySyndEntry = feed.getEntries().toArray();
      for (int k=arraySyndEntry.length-1; k>=0; k--)
      {
        SyndEntryImpl syndEntry = (SyndEntryImpl)arraySyndEntry[k];
        String link = strLinkCleanup(syndEntry.getLink());
        if (!list.contains(link))
          list.add(link);
      }
      return list;
    }
View Full Code Here

                {
                    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\\)", "");
                    }
            
                    Metadatum dcv[] = item.getMetadataByMetadataString(df);
                    if (dcv.length > 0)
                    {
                        String fieldLabel = labels.get(MSG_METADATA + df);
                        if (fieldLabel != null && fieldLabel.length()>0)
                        {
                            db.append(fieldLabel).append(": ");
                        }
                        boolean first = true;
                        for (Metadatum 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
                Metadatum authors[] = item.getMetadataByMetadataString(authorField);
                if (authors.length > 0)
                {
                    List<SyndPerson> creators = new ArrayList<SyndPerson>();
                    for (Metadatum 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)
                    {
                        Metadatum dcAuthors[] = item.getMetadataByMetadataString(dcCreatorField);
                        if (dcAuthors.length > 0)
                        {
                            List<String> creators = new ArrayList<String>();
                            for (Metadatum author : dcAuthors)
                            {
                                creators.add(author.value);
                            }
                            dc.setCreators(creators);
                        }
                    }
                    if (dcDateField != null && !hasDate)
                    {
                        Metadatum v[] = item.getMetadataByMetadataString(dcDateField);
                        if (v.length > 0)
                        {
                            dc.setDate((new DCDate(v[0].value)).toDate());
                        }
                    }
                    if (dcDescriptionField != null)
                    {
                        Metadatum v[] = item.getMetadataByMetadataString(dcDescriptionField);
                        if (v.length > 0)
                        {
                            StringBuffer descs = new StringBuffer();
                            for (Metadatum d : v)
                            {
                                if (descs.length() > 0)
                                {
                                    descs.append("\n\n");
                                }
                                descs.append(d.value);
                            }
                            dc.setDescription(descs.toString());
                        }
                    }
                    entry.getModules().add(dc);
                }

                //iTunes Podcast Support - START
                if (podcastFeed)
                {
                    // Add enclosure(s)
                    List<SyndEnclosure> enclosures = new ArrayList();
                    try {
                        Bundle[] bunds = item.getBundles("ORIGINAL");
                        if (bunds[0] != null) {
                            Bitstream[] bits = bunds[0].getBitstreams();
                            for (int i = 0; (i < bits.length); i++) {
                                String mime = bits[i].getFormat().getMIMEType();
                                if(podcastableMIMETypes.contains(mime)) {
                                    SyndEnclosure enc = new SyndEnclosureImpl();
                                    enc.setType(bits[i].getFormat().getMIMEType());
                                    enc.setLength(bits[i].getSize());
                                    enc.setUrl(urlOfBitstream(request, bits[i]));
                                    enclosures.add(enc);
                                } else {
                                    continue;
                                }
                            }
                        }
                        //Also try to add an external value from dc.identifier.other
                        // We are assuming that if this is set, then it is a media file
                        Metadatum[] externalMedia = item.getMetadataByMetadataString(externalSourceField);
                        if(externalMedia.length > 0)
                        {
                            for(int i = 0; i< externalMedia.length; i++)
                            {
                                SyndEnclosure enc = new SyndEnclosureImpl();
                                enc.setType("audio/x-mpeg");        //We can't determine MIME of external file, so just picking one.
                                enc.setLength(1);
                                enc.setUrl(externalMedia[i].value);
                                enclosures.add(enc);
                            }
                        }

                    } catch (Exception e) {
                        System.out.println(e.getMessage());
                    }
                    entry.setEnclosures(enclosures);

                    // Get iTunes specific fields: author, subtitle, summary, duration, keywords
                    EntryInformation itunes = new EntryInformationImpl();

                    String author = getOneDC(item, authorField);
                    if (author != null && author.length() > 0) {
                        itunes.setAuthor(author);                               // <itunes:author>
                    }

                    itunes.setSubtitle(title == null ? localize(labels, MSG_UNTITLED) : title); // <itunes:subtitle>

                    if (db.length() > 0) {
                        itunes.setSummary(db.toString());                       // <itunes:summary>
                    }

                    String extent = getOneDC(item, "dc.format.extent");         // assumed that user will enter this field with length of song in seconds
                    if (extent != null && extent.length() > 0) {
                        extent = extent.split(" ")[0];
                        Integer duration = Integer.parseInt(extent);
                        itunes.setDuration(new Duration(duration));             // <itunes:duration>
                    }

                    String subject = getOneDC(item, "dc.subject");
                    if (subject != null && subject.length() > 0) {
                        String[] subjects = new String[1];
                        subjects[0] = subject;
                        itunes.setKeywords(subjects);                           // <itunes:keywords>
                    }

                    entry.getModules().add(itunes);
                }
            }
            feed.setEntries(entries);
        }
    }
View Full Code Here

    List<SyndEntry> entries = new ArrayList<SyndEntry>();
    SyndEntry entry;
    SyndContent description;

    for (File dir : results) {
      entry = new SyndEntryImpl();
      Sequence sequence = ImageUtils.readSequence(dir);
      if (sequence == null) {
        entry.setTitle(dir.getName());
        entry.setUpdatedDate(new Date(dir.lastModified()));
      } else {
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.