V2_0.java [src/java/m/wqm/wqm10_soilpestlosspot] Revision:   Date:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package m.wqm.wqm10_soilpestlosspot;

import csip.ModelDataService;
import csip.api.server.ServiceException;
import csip.annotations.Polling;
import csip.annotations.Resource;
import java.sql.Connection;
import java.sql.SQLException;
import javax.ws.rs.Path;
import csip.annotations.Description;
import csip.annotations.Name;
import org.codehaus.jettison.json.JSONException;
import wqm.utils.DBResources;
import static wqm.utils.DBResources.WQM_ID;
import wqm.utils.Pesticides;

/**
 * WQM-10: Soil Pesticide Interaction Loss Potentials
 *
 * @author rumpal
 * @version 2.0
 */
@Name("WQM-10: Soil Pesticide Interaction Loss Potentials (SoilPestLossPot)")
@Description("This service computes soil pesticide interaction loss potentials "
        + "for leaching, solution runoff, and adsorbed runoff.")
@Path("m/soilpestlosspot/2.0")
@Polling(first = 10000, next = 2000)
@Resource(from = DBResources.class)

public class V2_0 extends ModelDataService {

    @Override
    protected void doProcess() throws ServiceException, SQLException, JSONException {
        try (Connection conn = resources().getJDBC(WQM_ID)) {
            Pesticides pesticides = new Pesticides(conn);
            pesticides.readWQM10Input(getParamMap());

            pesticides.calculateSoilPestLossPot();
            pesticides.setResults(results());
            pesticides.toWQM10JSON();
        }
    }

}