package mypackage;
import java.util.Collection;
import java.util.SortedSet;
import java.util.TreeSet;
import org.bibsonomy.model.Post;
import org.bibsonomy.model.RecommendedTag;
import org.bibsonomy.model.Resource;
import org.bibsonomy.model.comparators.RecommendedTagComparator;
import org.bibsonomy.services.recommender.TagRecommender;

/**
 * This class implements my own super tag recommender algorithm.
 */
public class MyTagRecommender implements TagRecommender {

    public String getInfo() {
    	return "My super tag recommender";
    }

    /**
     * returns recommended tags
     */
    public SortedSet<RecommendedTag> getRecommendedTags(final Post<? extends Resource> post) {
    	final SortedSet<RecommendedTag> tagSet = new TreeSet<RecommendedTag>(new RecommendedTagComparator());
    	addRecommendedTags(tagSet, post);
    	return tagSet;
    }

    /**
     * adds recommended tags to given collection
     */
    public void addRecommendedTags(final Collection<RecommendedTag> recommendedTags, 
				   final Post<? extends Resource> post) {
	recommendedTags.add(new RecommendedTag("Test1",0,0));
	recommendedTags.add(new RecommendedTag("Test2",0,0));
	recommendedTags.add(new RecommendedTag("Test3",0,0));
	recommendedTags.add(new RecommendedTag("Test4",0,0));
	recommendedTags.add(new RecommendedTag("Test5",0,0));
    }

    /**
     * used for presenting the recommender the post, as it was finally stored in BibSonomy 
     */
    public void setFeedback(Post<? extends Resource> post) {
	// not implemented
    }
}