package org.fastcatsearch.job.plugin;
import java.io.IOException;
import org.fastcatsearch.common.io.Streamable;
import org.fastcatsearch.exception.FastcatSearchException;
import org.fastcatsearch.ir.io.DataInput;
import org.fastcatsearch.ir.io.DataOutput;
import org.fastcatsearch.job.Job;
import org.fastcatsearch.plugin.Plugin;
import org.fastcatsearch.plugin.PluginService;
import org.fastcatsearch.service.ServiceManager;
/**
* 해당 플러그인이 존재하는지 확인.
* */
public class CheckPluginExistsJob extends Job implements Streamable {
private static final long serialVersionUID = -2595613883866451780L;
@Override
public void readFrom(DataInput input) throws IOException {
args = input.readString();
}
@Override
public void writeTo(DataOutput output) throws IOException {
output.writeString(getStringArgs());
}
@Override
public JobResult doRun() throws FastcatSearchException {
String pluginId = getStringArgs();
PluginService pluginService = ServiceManager.getInstance().getService(PluginService.class);
Plugin plugin = pluginService.getPlugin(pluginId);
if(plugin != null){
return new JobResult(true);
}else{
return new JobResult(false);
}
}
}