package com.wooki.services.feeds.impl; import java.util.Map; import org.apache.tapestry5.internal.services.LinkSource; import org.apache.tapestry5.ioc.annotations.Inject; import com.sun.syndication.feed.atom.Feed; import com.wooki.domain.model.activity.Activity; import com.wooki.services.activity.ActivitySourceType; import com.wooki.services.feeds.ActivityFeedWriter; import com.wooki.services.feeds.FeedProducer; import com.wooki.services.feeds.FeedSource; /** * Simple adapter service. * * @author ccordenier */ public class FeedSourceImpl implements FeedSource { private final Map<ActivitySourceType, FeedProducer> sources; public FeedSourceImpl(Map<ActivitySourceType, FeedProducer> sources, @Inject ActivityFeedWriter<Activity> activityFeed, @Inject LinkSource lnkSource) { this.sources = sources; } public Feed produceFeed(ActivitySourceType type, Long... context) { if (sources.containsKey(type)) { return sources.get(type).produce(context); } return null; } }