package org.codelibs.elasticsearch.taste; import java.util.Collection; import org.codelibs.elasticsearch.taste.module.TasteModule; import org.codelibs.elasticsearch.taste.rest.TasteActionRestAction; import org.codelibs.elasticsearch.taste.rest.TasteEventRestAction; import org.codelibs.elasticsearch.taste.rest.TasteSearchRestAction; import org.codelibs.elasticsearch.taste.service.TasteService; import org.elasticsearch.common.component.LifecycleComponent; import org.elasticsearch.common.inject.Module; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.rest.RestModule; import com.google.common.collect.Lists; public class TastePlugin extends Plugin { @Override public String name() { return "taste"; } @Override public String description() { return "Taste plugin recommends items from data in indices."; } // for Rest API public void onModule(final RestModule module) { module.addRestAction(TasteEventRestAction.class); module.addRestAction(TasteSearchRestAction.class); module.addRestAction(TasteActionRestAction.class); } // for Service @Override public Collection<Module> nodeModules() { final Collection<Module> modules = Lists.newArrayList(); modules.add(new TasteModule()); return modules; } // for Service @SuppressWarnings("rawtypes") @Override public Collection<Class<? extends LifecycleComponent>> nodeServices() { final Collection<Class<? extends LifecycleComponent>> services = Lists .newArrayList(); services.add(TasteService.class); return services; } }