Download_V1_0.java [src/java/m/cfa] Revision: 43efd7e0f3b8fe3c64f8229934ef0a7c85a69c01 Date: Fri Feb 14 14:19:18 MST 2014
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package m.cfa;
import cfa.guiDownload_Data;
import csip.AbstractModelService;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.Callable;
import javax.ws.rs.Path;
import oms3.annotations.Description;
import oms3.annotations.Name;
import oms3.annotations.VersionInfo;
import org.apache.commons.io.IOUtils;
import org.codehaus.jettison.json.*;
import csip.utils.JSONUtils;
import csip.ServiceConst;
@Name("download")
@Description("download")
@VersionInfo("1.0")
@Path("m/cfa/download/1.0")
public class Download_V1_0 extends AbstractModelService {
guiDownload_Data model = new guiDownload_Data();
@Override
protected Callable<Integer> createCallable() throws Exception {
return new Callable<Integer>() {
@Override
public Integer call() throws Exception {
Map<String, JSONObject> m = getParamMap();
model.setMainFolder(getWorkspaceDir().toString());
model.setOrganizationName(m.get("org").getString(ServiceConst.VALUE));
model.setStationID(m.get("station_id").getString(ServiceConst.VALUE));
model.setWaterQualityTest(m.get("wq_test").getString(ServiceConst.VALUE));
model.setBeginDate(m.get("begin_date").getString(ServiceConst.VALUE));
model.setEndDate(m.get("end_date").getString(ServiceConst.VALUE));
model.run();
return ServiceConst.EXEC_OK;
}
};
}
@Override
public String[] postprocess() throws Exception {
return new String[] {model.getOutput().getName()};
}
@Override
protected JSONArray createResults() throws Exception {
// String output = FileUtils.readFileToString(model.getOutput());
JSONArray result = new JSONArray();
result.put(JSONUtils.data("output", "Output successfully created"));
result.put(JSONUtils.data("output_location", model.getOutput().getName()));
return result;
}
@Override
protected JSONObject describe() throws JSONException {
try {
String tmpl = IOUtils.toString(Download_V1_0.class.getResource("/m/cfa/Download_V1_0Req.json"));
return new JSONObject(tmpl);
} catch (IOException ex) {
throw new RuntimeException("Not found: /m/cfa/Download_V1_0Req.json");
}
}
}