package org.fastcatsearch.http.action.management.dictionary;
import org.fastcatsearch.http.ActionAuthority;
import org.fastcatsearch.http.ActionAuthorityLevel;
import org.fastcatsearch.http.ActionMapping;
import org.fastcatsearch.http.action.ActionRequest;
import org.fastcatsearch.http.action.ActionResponse;
import org.fastcatsearch.http.action.AuthAction;
import org.fastcatsearch.job.Job.JobResult;
import org.fastcatsearch.job.plugin.BackupDictionaryJob;
import org.fastcatsearch.util.ResponseWriter;
import org.jboss.netty.handler.codec.http.HttpResponseStatus;
@ActionMapping(value="/management/dictionary/backup", authority=ActionAuthority.Dictionary, authorityLevel=ActionAuthorityLevel.WRITABLE)
public class BackupDictionaryAction extends AuthAction {
@Override
public void doAuthAction(ActionRequest request, ActionResponse response)
throws Exception {
BackupDictionaryJob job = new BackupDictionaryJob();
job.setArgs(request.getParameter("pluginId"));
writeHeader(response);
response.setStatus(HttpResponseStatus.OK);
ResponseWriter resultWriter = getDefaultResponseWriter(response.getWriter());
resultWriter.object().key("success");
//job을 바로실행.
try{
JobResult jobResult = job.doRun();
if(jobResult != null){
resultWriter.value(jobResult.isSuccess());
}else{
resultWriter.value(false);
}
}catch(Throwable e){
resultWriter.value(false);
}
resultWriter.endObject();
resultWriter.done();
}
}