Package com.sun.syndication.feed.synd.impl

Source Code of com.sun.syndication.feed.synd.impl.ConverterForRSS090

/*
* Copyright 2004 Sun Microsystems, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.sun.syndication.feed.synd.impl;

import com.sun.syndication.feed.WireFeed;
import com.sun.syndication.feed.rss.Channel;
import com.sun.syndication.feed.rss.Image;
import com.sun.syndication.feed.rss.Item;
import com.sun.syndication.feed.synd.SyndFeedI;
import com.sun.syndication.feed.synd.Converter;
import com.sun.syndication.feed.synd.SyndEntryI;
import com.sun.syndication.feed.synd.SyndImageI;
import com.sun.syndication.feed.synd.SyndImage;
import com.sun.syndication.feed.synd.SyndEntry;

import java.util.ArrayList;
import java.util.List;

/**
*/
public class ConverterForRSS090 implements Converter {

    public String getType() {
        return "rss_0.9";
    }


    public void copyInto(WireFeed feed,SyndFeedI syndFeed) {
        Channel channel = (Channel) feed;
        syndFeed.setTitle(channel.getTitle());
        syndFeed.setLink(channel.getLink());
        syndFeed.setDescription(channel.getDescription());
        syndFeed.setPublishedDate(channel.getPubDate());

        Image image = channel.getImage();
        if (image!=null) {
            syndFeed.setImage(createSyndImage(image));
        }

        List items = channel.getItems();
        if (items!=null) {
            syndFeed.setEntries(createSyndEntries(items));
        }
    }

    protected SyndImageI createSyndImage(Image rssImage) {
        SyndImageI syndImage = new SyndImage();
        syndImage.setTitle(rssImage.getTitle());
        syndImage.setUrl(rssImage.getUrl());
        syndImage.setLink(rssImage.getLink());
        return syndImage;
    }

    protected List createSyndEntries(List rssItems) {
        List syndEntries = new ArrayList();
        for (int i=0;i<rssItems.size();i++) {
            syndEntries.add(createSyndEntry((Item) rssItems.get(i)));
        }
        return syndEntries;
    }

    protected SyndEntryI createSyndEntry(Item item) {
        SyndEntryI syndEntry = new SyndEntry();
        syndEntry.setTitle(item.getTitle());
        syndEntry.setLink(item.getLink());
        return syndEntry;
    }

    public WireFeed createRealFeed(SyndFeedI syndFeed) {
        return createRealFeed(getType(),syndFeed);
    }

    protected WireFeed createRealFeed(String type,SyndFeedI syndFeed) {
        Channel channel = new Channel(type);

        channel.setTitle(syndFeed.getTitle());
        channel.setLink(syndFeed.getLink());
        channel.setDescription(syndFeed.getDescription());

        SyndImageI sImage = syndFeed.getImage();
        if (sImage!=null) {
            channel.setImage(createRSSImage(sImage));
        }

        List sEntries = syndFeed.getEntries();
        if (sEntries!=null) {
            channel.setItems(createRSSItems(sEntries));
        }
        return channel;
    }

    protected Image createRSSImage(SyndImageI sImage) {
        Image image = new Image();
        image.setTitle(sImage.getTitle());
        image.setUrl(sImage.getUrl());
        image.setLink(sImage.getLink());
        return image;
    }

    protected List createRSSItems(List sEntries) {
        List list = new ArrayList();
        for (int i=0;i<sEntries.size();i++) {
            list.add(createRSSItem((SyndEntryI)sEntries.get(i)));
        }
        return list;
    }

    protected Item createRSSItem(SyndEntryI sEntry) {
        Item item = new Item();
        item.setTitle(sEntry.getTitle());
        item.setLink(sEntry.getLink());
        return item;
    }

}
TOP

Related Classes of com.sun.syndication.feed.synd.impl.ConverterForRSS090

TOP
Copyright © 2018 www.massapi.com. 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.