package demo18.server;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.openswing.swing.message.receive.java.*;
import org.springframework.dao.DataAccessException;
import org.openswing.swing.message.send.java.GridParams;
import java.util.ArrayList;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.*;
import org.openswing.swing.server.QueryUtil;
import org.openswing.swing.server.UserSessionParameters;
import java.util.Map;
import java.util.HashMap;
import demo18.java.TaskVO;
import java.util.HashSet;
import org.openswing.swing.message.send.java.LookupValidationParams;
/**
* <p>Title: OpenSwing Framework</p>
* <p>Description: DAO object related to tasks.</p>
* <p>Copyright: Copyright (C) 2006 Mauro Carniel</p>
* @version 1.0
*/
public class TaskDao {
private DataSource dataSource;
private Map attribute2dbField = new HashMap();
private HashSet pkAttributes = new HashSet();
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public TaskDao() {
attribute2dbField.put("taskCode","TASKS.TASK_CODE");
attribute2dbField.put("description","TASKS.DESCRIPTION");
attribute2dbField.put("status","TASKS.STATUS");
pkAttributes.add("taskCode");
}
public Response getTasksList(GridParams gridParams) throws DataAccessException {
Connection conn = null;
try {
conn = dataSource.getConnection();
String baseSQL = "select TASKS.TASK_CODE,TASKS.DESCRIPTION,TASKS.STATUS from TASKS where TASKS.STATUS='E'";
return QueryUtil.getQuery(conn,new UserSessionParameters(),baseSQL,new ArrayList(),attribute2dbField,TaskVO.class,"Y","N",null,gridParams,50,false);
}
catch (Exception ex) {
return new ErrorResponse(ex.getMessage());
}
finally {
try {
conn.close();
}
catch (Exception ex1) {
}
}
}
public Response validateTask(LookupValidationParams lookupParams) throws DataAccessException {
Connection conn = null;
try {
conn = dataSource.getConnection();
String baseSQL = "select TASKS.TASK_CODE,TASKS.DESCRIPTION,TASKS.STATUS from TASKS where TASKS.STATUS='E' and TASKS.TASK_CODE=? ";
ArrayList values = new ArrayList();
values.add(lookupParams.getCode());
return QueryUtil.getQuery(conn,new UserSessionParameters(),baseSQL,values,attribute2dbField,TaskVO.class,"Y","N",null,new GridParams(),50,false);
}
catch (Exception ex) {
return new ErrorResponse(ex.getMessage());
}
finally {
try {
conn.close();
}
catch (Exception ex1) {
}
}
}
public Response insertTasks(ArrayList persistentObjects) throws DataAccessException {
Connection conn = null;
try {
conn = dataSource.getConnection();
for(int i=0;i<persistentObjects.size();i++)
((TaskVO)persistentObjects.get(i)).setStatus("E");
Response res = QueryUtil.insertTable(conn,new UserSessionParameters(),persistentObjects,"TASKS",attribute2dbField,"Y","N",null,false);
if (res.isError()) {
// conn.rollback();
throw new RuntimeException(res.getErrorMessage());
}
return res;
}
catch (Exception ex) {
// try {
// conn.rollback();
// }
// catch (Exception ex2) {
// }
// return new ErrorResponse(ex.getMessage());
throw new RuntimeException(ex.getMessage());
}
finally {
try {
conn.close();
}
catch (Exception ex1) {
}
}
}
public Response updateTasks(ArrayList oldPersistentObjects,ArrayList newPersistentObjects) throws DataAccessException {
Connection conn = null;
try {
conn = dataSource.getConnection();
TaskVO oldVO = null;
TaskVO newVO = null;
Response res = null;
for(int i=0;i<oldPersistentObjects.size();i++) {
oldVO = (TaskVO)oldPersistentObjects.get(i);
newVO = (TaskVO)newPersistentObjects.get(i);
res = QueryUtil.updateTable(
conn,
new UserSessionParameters(),
pkAttributes,
oldVO,
newVO,
"TASKS",
attribute2dbField,
"Y",
"N",
null,
false
);
if (res.isError()) {
// conn.rollback();
// return res;
throw new RuntimeException(res.getErrorMessage());
}
}
return new VOListResponse(newPersistentObjects,false,newPersistentObjects.size());
}
catch (Exception ex) {
// try {
// conn.rollback();
// }
// catch (Exception ex2) {
// }
// return new ErrorResponse(ex.getMessage());
throw new RuntimeException(ex.getMessage());
}
finally {
try {
conn.close();
}
catch (Exception ex1) {
}
}
}
public Response deleteTasks(ArrayList persistentObjects) throws DataAccessException {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = dataSource.getConnection();
pstmt = conn.prepareStatement("update TASKS set STATUS='D' where TASK_CODE=? ");
TaskVO vo = null;
for(int i=0;i<persistentObjects.size();i++) {
vo = (TaskVO)persistentObjects.get(i);
pstmt.setString(1,vo.getTaskCode());
pstmt.execute();
}
return new VOResponse(Boolean.TRUE);
}
catch (Exception ex) {
// try {
// conn.rollback();
// }
// catch (Exception ex2) {
// }
// return new ErrorResponse(ex.getMessage());
throw new RuntimeException(ex.getMessage());
}
finally {
try {
if (pstmt!=null)
pstmt.close();
}
catch (Exception ex2) {
}
try {
conn.close();
}
catch (Exception ex1) {
}
}
}
}