Update of /cvsroot/babeldoc/babeldoc/modules/syndication/src/com/babeldoc/syndication/pipeline/stage
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23392/modules/syndication/src/com/babeldoc/syndication/pipeline/stage
Added Files:
SyndicationReaderPipelineStage.java
Log Message:
Syndication module added.
Documentation start updating process.
--- NEW FILE: SyndicationReaderPipelineStage.java ---
/**
*
*/
package com.babeldoc.syndication.pipeline.stage;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import com.babeldoc.core.option.ConfigOption;
import com.babeldoc.core.option.IConfigOptionType;
import com.babeldoc.core.pipeline.PipelineDocument;
import com.babeldoc.core.pipeline.PipelineException;
import com.babeldoc.core.pipeline.PipelineStage;
import com.babeldoc.core.pipeline.PipelineStageInfo;
import com.babeldoc.core.pipeline.PipelineStageResult;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
/**
* @author santi
*
*/
public class SyndicationReaderPipelineStage extends PipelineStage {
/* configuration options */
public static final String URL = "url";
/**
*
*/
public SyndicationReaderPipelineStage() {
super(new PipelineStageInfo() {
public String getName() {
return "SyndicationReader";
}
public String getDescription() {
return "Syndication feed pipeline reader";
}
public Collection getTypeSpecificOptions() {
Collection options = new ArrayList();
options.add(new ConfigOption("URL", IConfigOptionType.URL,
null, true, "URL to read from"));
return options;
}
});
}
/*
* (non-Javadoc)
*
* @see com.babeldoc.core.pipeline.PipelineStage#process()
*/
public PipelineStageResult[] process() throws PipelineException {
PipelineDocument newDoc;
String feedUrl = this.getOptions(URL);
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = null;
try {
feed = input.build(new XmlReader(new URL(feedUrl)));
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FeedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
newDoc = new PipelineDocument(feed.toString());
newDoc.put(PipelineDocument.NAME, feedUrl);
return super.processHelper(newDoc);
}
}
|