package org.atomnuke.utilities.sinks; import java.util.Map; import org.atomnuke.atom.model.Entry; import org.atomnuke.atom.model.Feed; import org.atomnuke.sink.AtomSink; import org.atomnuke.sink.AtomSinkException; import org.atomnuke.sink.AtomSinkResult; import org.atomnuke.sink.SinkResult; import org.atomnuke.task.context.AtomTaskContext; import org.atomnuke.lifecycle.InitializationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author zinic */ public class JavaIdEchoSink implements AtomSink { private static final Logger LOG = LoggerFactory.getLogger(JavaIdEchoSink.class); @Override public SinkResult entry(Entry entry) throws AtomSinkException { if (entry.id() != null) { LOG.info("From Java: " + entry.id().toString()); } return AtomSinkResult.ok(); } @Override public SinkResult feedPage(Feed page) throws AtomSinkException { for (Entry entry : page.entries()) { entry(entry); } return AtomSinkResult.ok(); } @Override public void init(AtomTaskContext tc) throws InitializationException { LOG.info("Java ID echo sink initialized."); for (Map.Entry<String, String> param : tc.parameters().entrySet()) { LOG.info("Sink init for: " + toString() + ". Parameter, \"" + param.getKey() + "\" has value: " + param.getValue()); } } @Override public void destroy() { LOG.info("Java ID echo sink destroyed."); } }