V1_0.java [src/java/m/wqm/wqm23_sednutpractscoresfull] Revision: Date:
package m.wqm.wqm23_sednutpractscoresfull;
/**
* @author anvesh
*/
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-23: Sediment Nutrient Practice Scores")
@Description("This service returns all rows and columns from the wqm_sediment_nutrient_practice_scores table.")
@Path("m/sednutpractscoresfull/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.WQM23Query())) {
while (results.next()) {
int nut_pract_score = results.getInt("nut_pract_score");
int nutrient_practice_score_id = results.getInt("nutrient_practice_score_id");
int practice_id = results.getInt("practice_id");
String practice_code = results.getString("practice_code");
String conservation_practice = results.getString("conservation_practice");
String wqm_concern = results.getString("wqm_concern");
String mode_of_action = results.getString("mode_of_action");
String pract_discrim_type = results.getString("pract_discrim_type");
String min_pract_discrim = results.getString("min_pract_discrim");
String max_pract_discrim = results.getString("max_pract_discrim");
result1.add(new Result1(nut_pract_score,
nutrient_practice_score_id, practice_id, practice_code,
conservation_practice, wqm_concern, mode_of_action,
pract_discrim_type, min_pract_discrim, max_pract_discrim));
}
}
}
@Override
protected void postProcess() throws JSONException {
JSONArray result1Arr = new JSONArray();
for (Result1 rs1 : result1) {
JSONArray tmpArr = new JSONArray();
tmpArr.put(JSONUtils.dataDesc("nut_pract_score", rs1.nut_pract_score, "nut_pract_score"));
tmpArr.put(JSONUtils.dataDesc("nutrient_practice_score_id", rs1.nutrient_practice_score_id, "nutrient_practice_score_id"));
tmpArr.put(JSONUtils.dataDesc("practice_id", rs1.practice_id, "NRCS conservaton practice identifier (not the practice code)"));
tmpArr.put(JSONUtils.dataDesc("practice_code", rs1.practice_code, "NRCS conservation practice code"));
tmpArr.put(JSONUtils.dataDesc("conservation_practice", rs1.conservation_practice, "NRCS conservation practice name"));
tmpArr.put(JSONUtils.dataDesc("wqm_concern", rs1.wqm_concern, "wqm_concern"));
tmpArr.put(JSONUtils.dataDesc("mode_of_action", rs1.mode_of_action, "Mode of action of the nutrient technique"));
tmpArr.put(JSONUtils.dataDesc("pract_discrim_type", rs1.pract_discrim_type, "Type of sediment nutrient mitigation practice discriminator"));
tmpArr.put(JSONUtils.dataDesc("min_pract_discrim", rs1.min_pract_discrim, "Minimum mitigation practice discriminator value"));
tmpArr.put(JSONUtils.dataDesc("max_pract_discrim", rs1.max_pract_discrim, "Maximum mitigation practice discriminator value"));
result1Arr.put(JSONUtils.dataDesc("Nutrient Sediment practice Scores", tmpArr, "NutriSediPracScores"));
}
results().put("operation", result1Arr);
}
static class Result1 {
int nut_pract_score;
int nutrient_practice_score_id;
int practice_id;
String practice_code;
String conservation_practice;
String wqm_concern;
String mode_of_action;
String pract_discrim_type;
String min_pract_discrim;
String max_pract_discrim;
public Result1(
int nut_pract_score,
int nutrient_practice_score_id,
int practice_id,
String practice_code,
String conservation_practice,
String wqm_concern,
String mode_of_action,
String pract_discrim_type,
String min_pract_discrim,
String max_pract_discrim) {
this.nut_pract_score = nut_pract_score;
this.nutrient_practice_score_id = nutrient_practice_score_id;
this.practice_id = practice_id;
this.practice_code = practice_code;
this.conservation_practice = conservation_practice;
this.wqm_concern = wqm_concern;
this.mode_of_action = mode_of_action;
this.pract_discrim_type = pract_discrim_type;
this.min_pract_discrim = min_pract_discrim;
this.max_pract_discrim = max_pract_discrim;
}
}
}