package org.fastcatsearch.http.action.management.indexing; import java.io.Writer; import org.fastcatsearch.control.JobService; import org.fastcatsearch.control.ResultFuture; 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.indexing.MasterCollectionAddIndexingJob; import org.fastcatsearch.service.ServiceManager; import org.fastcatsearch.util.ResponseWriter; @ActionMapping(value = "/indexing/add/run", authority = ActionAuthority.Collections, authorityLevel = ActionAuthorityLevel.WRITABLE) public class RunAddIndexingAction extends AuthAction { @Override public void doAuthAction(ActionRequest request, ActionResponse response) throws Exception { String collectionId = request.getParameter("collectionId"); JobService jobService = ServiceManager.getInstance().getService(JobService.class); MasterCollectionAddIndexingJob masterCollectionIndexingJob = new MasterCollectionAddIndexingJob(); masterCollectionIndexingJob.setArgs(collectionId); ResultFuture jobResult = jobService.offer(masterCollectionIndexingJob); Writer writer = response.getWriter(); ResponseWriter resultWriter = getDefaultResponseWriter(writer); resultWriter .object() .key("collectionId").value(collectionId); if(jobResult != null){ resultWriter.key("status").value("0"); }else{ resultWriter.key("status").value("1"); } resultWriter.endObject(); resultWriter.done(); } }