V1_0.java [src/java/m/wqm/wqm26_pestipmscoresfull] Revision: Date:
/**
* @author anvesh
*/
package m.wqm.wqm26_pestipmscoresfull;
import csip.ModelDataService;
import csip.api.server.ServiceException;
import csip.annotations.Resource;
import java.util.ArrayList;
import javax.ws.rs.Path;
import csip.annotations.Description;
import csip.annotations.Name;
import org.codehaus.jettison.json.JSONArray;
import csip.utils.JSONUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.codehaus.jettison.json.JSONException;
import wqm.utils.DBQueries;
import wqm.utils.DBResources;
@Name("WQM-26: Pesticide Practice Scores ")
@Description("This service returns all rows and columns from the wqm_ipm_practice_scores table.")
@Path("m/pestipmscoresfull/1.0")
@Resource(from = DBResources.class)
public class V1_0 extends ModelDataService {
private ArrayList<Result1> result1 = new ArrayList<>();
@Override
protected void doProcess() throws SQLException, ServiceException {
try (Connection conn = resources().getJDBC(DBResources.WQM_READONLY_ID);
Statement statement = conn.createStatement();
ResultSet results = statement.executeQuery(DBQueries.WQM26Query())) {
while (results.next()) {
int ipm_practice_score_id = results.getInt("ipm_practice_score_id");
int practice_id = results.getInt("practice_id");
int ipm_practice_score = results.getInt("ipm_practice_score");
String practice_code = results.getString("practice_code");
String ipm_practice_name = results.getString("ipm_practice_name");
String practice_variant = results.getString("practice_variant");
String wqm_concern = results.getString("wqm_concern");
result1.add(new Result1(ipm_practice_score_id,
practice_id, ipm_practice_score, practice_code, ipm_practice_name,
practice_variant, wqm_concern));
}
}
}
@Override
protected void postProcess() throws JSONException {
JSONArray result1Arr = new JSONArray();
for (Result1 rs1 : result1) {
JSONArray tmpArr = new JSONArray();
tmpArr.put(JSONUtils.dataDesc("ipm_practice_score_id", rs1.ipm_practice_score_id, "ipm_practice_score_id"));
tmpArr.put(JSONUtils.dataDesc("practice_id", rs1.practice_id, "NRCS conservation practice identifier"));
tmpArr.put(JSONUtils.dataDesc("ipm_practice_score", rs1.ipm_practice_score, "ipm_practice_score"));
tmpArr.put(JSONUtils.dataDesc("practice_code", rs1.practice_code, "NRCS conservation practice code"));
tmpArr.put(JSONUtils.dataDesc("ipm_practice_name", rs1.ipm_practice_name, "Name of NRCS conservation practice used for integrated pest management"));
tmpArr.put(JSONUtils.dataDesc("practice_variant", rs1.practice_variant, "Variant of NRCS conservation practice used for integrated pest management, usually relating to purpose"));
tmpArr.put(JSONUtils.dataDesc("wqm_concern", rs1.wqm_concern, "WQM resource concern: pesticide leaching, pesticide solution runoff, pesticide adsorbed runoff, pesticide drift"));
result1Arr.put(JSONUtils.dataDesc("IPM practice Scores", tmpArr, "IPMPracticeScores"));
}
results().put("operation", result1Arr);
}
static class Result1 {
int ipm_practice_score_id;
int practice_id;
int ipm_practice_score;
String practice_code;
String ipm_practice_name;
String practice_variant;
String wqm_concern;
public Result1(
int ipm_practice_score_id,
int practice_id,
int ipm_practice_score,
String practice_code,
String ipm_practice_name,
String practice_variant,
String wqm_concern) {
this.ipm_practice_score_id = ipm_practice_score_id;
this.practice_id = practice_id;
this.ipm_practice_score = ipm_practice_score;
this.practice_code = practice_code;
this.ipm_practice_name = ipm_practice_name;
this.practice_variant = practice_variant;
this.wqm_concern = wqm_concern;
}
}
}