package org.kevoree.library.camel.twitter; import org.apache.abdera.model.Entry; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.kevoree.annotation.*; import org.kevoree.library.camel.framework.AbstractKevoreeCamelComponentType; /** * Created by IntelliJ IDEA. * User: duke * Date: 07/03/12 * Time: 12:00 */ @ComponentType @DictionaryType({ @DictionaryAttribute(name = "period", defaultValue = "60000", optional = true), @DictionaryAttribute(name = "url") }) @Requires({ @RequiredPort(name = "feeds", type = PortType.MESSAGE, needCheckDependency = true, optional = true) }) public class CamelTwitterReader extends AbstractKevoreeCamelComponentType { protected void buildRoutes(RouteBuilder rb) { rb.from("twitter://timeline/home?type=polling&delay=5" + getDictionary().get("url") + "?consumer.delay=" + getDictionary().get("period")) /*.process(new Processor() { @Override public void process(Exchange exchange) throws Exception { Entry entry = exchange.getIn().getBody(Entry.class); String msg = entry.getUpdated()+":"+entry.getAuthor().getName()+"@"+entry.getTitle(); exchange.getOut().setBody(msg); } }) */ .to("kport:feeds"); } }