package demo5.server;
import org.openswing.swing.server.Action;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.openswing.swing.message.receive.java.*;
import java.sql.*;
import org.openswing.swing.server.UserSessionParameters;
import org.openswing.swing.server.ConnectionManager;
import demo5.java.TestVO;
/**
* <p>Title: OpenSwing Framework</p>
* <p>Description: </p>
* <p>Copyright: Copyright (C) 2006 Mauro Carniel</p>
* <p> </p>
* @author Mauro Carniel
* @version 1.0
*/
public class DetailLoadAction implements Action {
public DetailLoadAction() {
}
/**
* @return request name
*/
public final String getRequestName() {
return "loadDetail";
}
/**
* Business logic to execute.
*/
public final Response executeCommand(Object inputPar,UserSessionParameters userSessionPars,HttpServletRequest request, HttpServletResponse response,HttpSession userSession,ServletContext context) {
Statement stmt = null;
Connection conn = null;
try {
conn = ConnectionManager.getConnection(context);
stmt = conn.createStatement();
String pk = (String)inputPar;
ResultSet rset = stmt.executeQuery("select DEMO5.TEXT,DEMO5.DECNUM,DEMO5.CURRNUM,DEMO5.THEDATE,DEMO5.COMBO,DEMO5.CHECK_BOX,DEMO5.RADIO,DEMO5.CODE,DEMO5_LOOKUP.DESCRCODE,DEMO5.TA from DEMO5,DEMO5_LOOKUP where TEXT='"+pk+"' and DEMO5.CODE=DEMO5_LOOKUP.CODE");
if (rset.next()) {
TestVO vo = new TestVO();
vo.setCheckValue(rset.getObject(6)==null || !rset.getObject(6).equals("Y") ? Boolean.FALSE:Boolean.TRUE);
vo.setComboValue(rset.getString(5));
vo.setCurrencyValue(rset.getBigDecimal(3));
vo.setDateValue(rset.getDate(4));
vo.setNumericValue(rset.getBigDecimal(2));
vo.setRadioButtonValue(rset.getObject(7)==null || !rset.getObject(7).equals("Y") ? Boolean.FALSE:Boolean.TRUE);
vo.setStringValue(rset.getString(1));
vo.setLookupValue(rset.getString(8));
vo.setDescrLookupValue(rset.getString(9));
vo.setTaValue(rset.getString(10));
return new VOResponse(vo);
}
else
return new ErrorResponse("No data found.");
}
catch (Throwable ex) {
ex.printStackTrace();
return new ErrorResponse(ex.getMessage());
}
finally {
try {
stmt.close();
}
catch (SQLException ex1) {
}
try {
ConnectionManager.releaseConnection(conn, context);
}
catch (Exception ex2) {
}
}
}
}