Commit 432baeba authored by prumde's avatar prumde

Updated CourseDAO for getting and saving data to / from Course Tables

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@199199 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ae6a08ed
package ibase.dashboard.common.hibernate.dao;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.Query;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import ibase.dashboard.common.hibernate.bean.Course;
import ibase.dashboard.common.hibernate.bean.CourseAttend;
import ibase.dashboard.common.hibernate.bean.CourseContent;
import ibase.dashboard.common.hibernate.bean.CourseContentAtt;
import ibase.dashboard.common.hibernate.bean.CourseTestQues;
import ibase.dashboard.common.hibernate.bean.CourseTestRes;
import ibase.hibernate.bean.DocContents;
import ibase.hibernate.utility.HibernateUtil;
import ibase.utility.BaseLogger;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.DocumentHandlerWrapperEJB;
public class CourseDAO
{
private UserInfoBean userInfo = null;
public UserInfoBean getUserInfo() {
return this.userInfo;
}
public void setUserInfo(UserInfoBean userInfo) {
this.userInfo = userInfo;
}
public JSONArray getUserCourseData(Map<String, Course> userCourseMap, List<String> courseCodeList)
{
JSONArray courseArray = new JSONArray();
try
{
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
for(String courseCode : courseCodeList)
{
Course course = userCourseMap.get(courseCode);
JSONObject courseObj = new JSONObject(course);
String courseStatus = "O"; // Open Courses - Yet to visit
CourseAttend courseAttend = getCourseAttend(loginCode, courseCode, tranDB);
if( courseAttend != null )
{
courseStatus = courseAttend.getCourseStatus(); // Course status : P - Pending | C - Completed
courseObj.put("attendStartDate", courseAttend.getStartDate());
courseObj.put("lastInterDate", courseAttend.getLastInterDate());
courseObj.put("statusDate", courseAttend.getStatusDate());
courseObj.put("courseRating", courseAttend.getCourseRating());
courseObj.put("courseStatus", courseStatus);
}
else
{
courseObj.put("courseStatus", courseStatus); // Open Courses - Yet to visit
}
JSONArray courseContents = getCourseContents(courseCode, courseStatus);
JSONArray courseQuestions = getCourseQuestions(courseCode);
courseObj.put("courseContents", courseContents);
courseObj.put("courseQuestions", courseQuestions);
BaseLogger.log("3",null,null," getUserCourseData courseObj ::::" +courseObj);
courseArray.put(courseObj);
}
}
catch (JSONException e)
{
BaseLogger.log("0", null, null, "JSONException : getUserCourseData ");
BaseLogger.log("0", null, null, e.getMessage());
e.printStackTrace();
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception : getUserCourseData ");
BaseLogger.log("0", null, null, e.getMessage());
e.printStackTrace();
}
return courseArray;
}
private JSONArray getCourseContents(String courseCode, String courseStatus)
{
JSONArray courseContentsArray = new JSONArray();
try
{
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
List<CourseContent> courseContentList = getCourseContents(courseCode);
if( courseContentList !=null && !courseContentList.isEmpty() )
{
for( CourseContent courseContent : courseContentList )
{
JSONObject courseContentObj = new JSONObject(courseContent);
String contentName = courseContent.getContentName();
String docId = checkNull( courseContent.getAttachment() ); // DOC_ID
String accessPos = "0";
if( !"O".equalsIgnoreCase(courseStatus) ) // User Attended Course
{
CourseContentAtt userCourseContent = getCourseContentAtt(loginCode, courseCode, contentName, tranDB);
if( userCourseContent != null )
{
accessPos = userCourseContent.getAccessPos();
courseContentObj.put("lastAccDate", userCourseContent.getLastAccDate());
courseContentObj.put("acessStat", userCourseContent.getAcessStat());
}
}
courseContentObj.put("accessPos", accessPos);
DocContents docContents = getDocContents(docId, tranDB);
if( docContents != null )
{
String fileMetadata = checkNull(docContents.getFileMetadata());
String fileType = checkNull(docContents.getDocType());
System.out.println("fileMetadata in CourseDAO [" + fileMetadata + "]");
JSONObject timeJsonObj = new JSONObject();
try
{
JSONObject filemetadataJson = new JSONObject(fileMetadata);
String duration = filemetadataJson.getString("duration");
int totalDuration = Integer.parseInt(duration);
timeJsonObj.put("current", "0");
timeJsonObj.put("left", accessPos);
timeJsonObj.put("total", totalDuration);
}
catch (Exception e)
{
System.out.println("Exception In CourseDAO" + e);
}
// jsonObject.put("VIDEO_PATH", "/ibase/WebITMDocumentHandlerServlet?ACTION=GET_DOCUMENT&DOC_ID="+docId+"&DOC_TYPE=mp4");
courseContentObj.put("videoPath", "/ibase/rest/stream/" + docId);
courseContentObj.put("imagePath", "/ibase/DocumentViewerServlet?ACTION=GET_PREVIEW_IMAGE&DOC_ID=" + docId + "&ENTERPRISE=Driver");
courseContentObj.put("fileType", fileType);
courseContentObj.put("time", timeJsonObj);
}
courseContentsArray.put(courseContentObj);
}
}
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception : getCourseContents ");
BaseLogger.log("0", null, null, e.getMessage());
e.printStackTrace();
}
return courseContentsArray;
}
private JSONArray getCourseQuestions(String courseCode)
{
JSONArray courseQuestionsArray = new JSONArray();
try
{
List<CourseTestQues> courseTestQuesList = getCourseTestQues(courseCode);
if( courseTestQuesList !=null && !courseTestQuesList.isEmpty() )
{
for( CourseTestQues courseTestQues : courseTestQuesList )
{
JSONObject courseTestQuesObj = new JSONObject(courseTestQues);
String answMetadata = courseTestQues.getAnswMetadata();
if( answMetadata != null && answMetadata.trim().length() > 0 )
{
JSONArray answMetadataArray = new JSONArray(answMetadata);
//TODO : Remove IS_CORRECT_ANSW if needed
courseTestQuesObj.put("answMetadata", answMetadataArray);
}
else
{
//Need to create Dummy Answers indicating nothing defined in Answer option
}
courseQuestionsArray.put(courseTestQuesObj);
}
}
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception : getCourseQuestions ");
BaseLogger.log("0", null, null, e.getMessage());
e.printStackTrace();
}
return courseQuestionsArray;
}
// Selection of Data from Master Tables Start
public List<Course> getCourses()
{
List<Course> courseList = null;
try
{
String tranDB = this.userInfo.getTransDB();
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from Course where startDate <= sysdate and endDate >= sysdate ");
courseList = query.getResultList();
System.out.println("getCourseList courseList" + courseList);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getCourseList ");
BaseLogger.log("0", null, null, e.getMessage());
}
return courseList;
}
private List<CourseContent> getCourseContents(String courseCode)
{
List<CourseContent> courseContentList = null;
try
{
String tranDB = this.userInfo.getTransDB();
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseContent where courseCode = '" + courseCode + "' ");
courseContentList = query.getResultList();
//TODO: Append Content Stream URL and First Frame Image
System.out.println("getCourseContents courseContentList" + courseContentList);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getCourseContents ");
BaseLogger.log("0", null, null, e.getMessage());
}
return courseContentList;
}
private List<CourseTestQues> getCourseTestQues(String courseCode)
{
List<CourseTestQues> courseTestQuesList = null;
try
{
String tranDB = this.userInfo.getTransDB();
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseTestQues where courseCode = '" + courseCode + "' ");
courseTestQuesList = query.getResultList();
System.out.println("getCourseQuestions courseTestQuesList" + courseTestQuesList);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getCourseQuestions ");
BaseLogger.log("0", null, null, e.getMessage());
}
return courseTestQuesList;
}
// Selection of Data from Master Tables End
// Selection of Data from Transaction Tables Start
private List<CourseAttend> getUserCourses(String loginCode, String tranDB)
{
List<CourseAttend> userCourseList = null;
try
{
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
//Query query = session.createQuery("from CourseAttend where userId = '"+ loginCode +"' and courseStatus = 'P' ");
Query query = session.createQuery("from CourseAttend where userId = '"+ loginCode +"' ");
userCourseList = query.getResultList();
System.out.println("getUserCourses userCourseList" + userCourseList);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getUserCourses ");
BaseLogger.log("0", null, null, e.getMessage());
}
return userCourseList;
}
private List<CourseContentAtt> getUserCourseContents(String loginCode, String courseCode, String tranDB)
{
List<CourseContentAtt> userCurseContents = null;
try
{
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseContentAtt where userId = '"+ loginCode +"' and courseCode = '"+ courseCode +"' ");
userCurseContents = query.getResultList();
System.out.println("getUserCourseContents userCurseContents" + userCurseContents);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getUserCourseContents ");
BaseLogger.log("0", null, null, e.getMessage());
}
return userCurseContents;
}
private List<CourseTestRes> getUserCourseQuestions(String loginCode, String courseCode, String tranDB)
{
List<CourseTestRes> userCourseQues = null;
try
{
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseTestRes where userId = '"+ loginCode +"' and courseCode = '"+ courseCode +"' ");
userCourseQues = query.getResultList();
System.out.println("getUserCourseQuestions userCourseQues" + userCourseQues);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getUserCourseQuestions ");
BaseLogger.log("0", null, null, e.getMessage());
}
return userCourseQues;
}
private CourseAttend getCourseAttend(String loginCode, String courseCode, String tranDB)
{
CourseAttend courseAttend = null;
try
{
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseAttend where userId='" + loginCode + "' and courseCode='" + courseCode + "'");
List<CourseAttend> courseAttendList = query.getResultList();
System.out.println("getCourseAttend courseAttendList : " + courseAttendList);
if (courseAttendList.size() > 0)
{
courseAttend = courseAttendList.get(0);
System.out.println("getCourseAttend courseAttend : " + courseAttend);
}
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getCourseAttend ");
BaseLogger.log("0", null, null, e.getMessage());
}
return courseAttend;
}
private CourseContentAtt getCourseContentAtt(String loginCode, String courseCode, String contentName, String tranDB)
{
CourseContentAtt courseContentAtt = null;
try
{
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseContentAtt where userId='" + loginCode + "' and courseCode='" + courseCode + "' and contentName='" + contentName + "'");
List<CourseContentAtt> courseContentAttList = query.getResultList();
System.out.println("getCourseContentAtt courseContentAttList : " + courseContentAttList);
if (courseContentAttList.size() > 0)
{
courseContentAtt = courseContentAttList.get(0);
System.out.println("getCourseContentAtt courseContentAtt :" + courseContentAtt);
}
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getCourseContentAtt ");
BaseLogger.log("0", null, null, e.getMessage());
}
return courseContentAtt;
}
private CourseTestRes getCourseTestRes(String loginCode, String courseCode, String quesSet, int seqNo, String tranDB)
{
CourseTestRes courseTestRes = null;
try
{
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from CourseTestRes where userId='" + loginCode + "' "
+ " and courseCode='" + courseCode + "'"
+ " and quesSet='" + quesSet + "'"
+ " and seqNo= " + seqNo + "");
List<CourseTestRes> courseTestResList = query.getResultList();
System.out.println("getCourseTestRes courseTestResList : " + courseTestResList);
if (courseTestResList.size() > 0)
{
courseTestRes = courseTestResList.get(0);
System.out.println("getCourseTestRes courseTestRes : " + courseTestRes);
}
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getcourseTestRes ");
BaseLogger.log("0", null, null, e.getMessage());
}
return courseTestRes;
}
// Selection of Data from Transaction Tables End
// Update Transaction Tables - Start
public void updateCourseAttend(String courseCode, String courseDataJson)
{
try
{
JSONObject courseData = new JSONObject();
if( courseDataJson != null && courseDataJson.trim().length() > 0 )
{
courseData = new JSONObject(courseDataJson);
}
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
CourseAttend courseAttend = getCourseAttend(loginCode, courseCode, tranDB);
System.out.println("updateCourseAttend courseData :: " + courseData + " :: courseAttend :: " + courseAttend);
if (courseAttend == null)
{
courseAttend = new CourseAttend();
courseAttend.setUserId(loginCode);
courseAttend.setCourseCode(courseCode);
courseAttend.setStartDate(new Date());
System.out.println("inside if courseAttend is null==>" + courseAttend);
}
courseAttend.setLastInterDate(new Date());
if( courseData.optString("COURSE_STATUS") != null )
{
courseAttend.setCourseStatus( courseData.optString("COURSE_STATUS") );
courseAttend.setStatusDate(new Date());
}
else
{
courseAttend.setCourseStatus("P");
}
if( courseData.optString("COURSE_RATING") != null )
{
courseAttend.setCourseRating( courseData.optString("COURSE_RATING") );
}
System.out.println("courseAttend==>" + courseAttend);
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
Transaction tx = session.beginTransaction();
session.saveOrUpdate(courseAttend);
session.flush();
tx.commit();
session.close();
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException inside updateCourseAttend:");
BaseLogger.log("0", null, null, e.getMessage());
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception inside updateCourseAttend:");
BaseLogger.log("0", null, null, e.getMessage());
}
}
public void updateCourseContentAtt(String courseCode, String contentName, String courseContentDataJson)
{
try
{
JSONObject courseContentData = new JSONObject();
if( courseContentDataJson != null && courseContentDataJson.trim().length() > 0 )
{
courseContentData = new JSONObject(courseContentDataJson);
}
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
CourseContentAtt courseContentAtt = getCourseContentAtt(loginCode, courseCode, contentName, tranDB);
System.out.println("updateCourseContentAtt courseContentData :: " + courseContentData + " :: courseContentAtt :: " + courseContentAtt);
if (courseContentAtt == null)
{
courseContentAtt = new CourseContentAtt();
courseContentAtt.setUserId(loginCode);
courseContentAtt.setCourseCode(courseCode);
courseContentAtt.setContentName(contentName);
System.out.println("inside if courseContentAtt is null==>" + courseContentAtt);
}
courseContentAtt.setLastAccDate(new Date());
if( courseContentData.optString("ACCESS_STAT") != null )
{
courseContentAtt.setAcessStat(courseContentData.optString("ACCESS_STAT"));
}
else
{
courseContentAtt.setAcessStat("P");
}
if( courseContentData.optString("ACCESS_POS") != null )
{
courseContentAtt.setAccessPos(courseContentData.optString("ACCESS_POS"));
}
System.out.println("courseContentAtt==>" + courseContentAtt);
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
Transaction tx = session.beginTransaction();
session.saveOrUpdate(courseContentAtt);
session.flush();
tx.commit();
session.close();
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException inside updatecourseContentAtt:");
BaseLogger.log("0", null, null, e.getMessage());
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception inside updatecourseContentAtt:");
BaseLogger.log("0", null, null, e.getMessage());
}
}
public void updateCourseTestRes(String courseCode, String qsetAnswDatason)
{
try
{
JSONArray qsetAnswDataArr = new JSONArray();
if( qsetAnswDatason != null && qsetAnswDatason.trim().length() > 0 )
{
qsetAnswDataArr = new JSONArray(qsetAnswDatason);
}
for (int i = 0; i < qsetAnswDataArr.length(); i++)
{
JSONObject qsetAnswData = qsetAnswDataArr.optJSONObject(i);
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
String quesSet = qsetAnswData.optString("QUES_SET") ;
int seqNo = qsetAnswData.optInt("SEQ_NO", 0);
String testData = qsetAnswData.optString("TEST_DATA");
if( quesSet != null && seqNo != 0)
{
CourseTestRes courseTestRes = getCourseTestRes(loginCode, courseCode, quesSet, seqNo, tranDB);
System.out.println("updateCourseTestRes courseData :: " + qsetAnswData + " :: courseTestRes :: " + courseTestRes);
if (courseTestRes == null)
{
courseTestRes = new CourseTestRes();
courseTestRes.setUserId(loginCode);
courseTestRes.setCourseCode(courseCode);
courseTestRes.setQuesSet(quesSet);
courseTestRes.setSeqNumber(seqNo);
System.out.println("inside if courseTestRes is null==>" + courseTestRes);
}
if( testData != null )
{
courseTestRes.setTestData( testData );
}
System.out.println("courseTestRes==>" + courseTestRes);
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
Transaction tx = session.beginTransaction();
session.saveOrUpdate(courseTestRes);
session.flush();
tx.commit();
session.close();
}
}
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException inside updateCourseTestRes:");
BaseLogger.log("0", null, null, e.getMessage());
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception inside updateCourseTestRes:");
BaseLogger.log("0", null, null, e.getMessage());
}
}
// Update Transaction Tables - End
private DocContents getDocContents(String docId, String tranDB)
{
DocContents docContents = null;
try
{
// 1. Get Session object
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// 2. Create Query
BaseLogger.log("3",null,null,"Inside getDocContents docId: [" + docId +"]");
Query query = session.createQuery("from DocContents where docId = '"+ docId +"' ");
List<DocContents> docContentList = query.getResultList();
if( docContentList != null )
{
docContents = docContentList.get(0);
}
}
catch (HibernateException e)
{
BaseLogger.log("0",null,null,"HibernateException :");
BaseLogger.log("0",null,null,e.getMessage());
}
return docContents;
}
public void logDocUsage(String data, UserInfoBean userInfo)
{
System.out.println("Inside logDocUsage CourseDAO /n"+data);
try
{
DocumentHandlerWrapperEJB docWrapperHandler = new DocumentHandlerWrapperEJB();
//JSONObject docUsageJson = new JSONObject(data);
//String usageDetailsData = docUsageJson.getString("USAGE_DETAIL_DATA");
//docUsageJson.put("USAGE_DETAIL_DATA", new JSONObject(usageDetailsData));
System.out.println("docUsageJson Inside logDocUsage CourseDAO "+data);
docWrapperHandler.saveDocUsageData(data, userInfo);
}
catch(Exception e){
System.out.println("Exception in logDocUsage "+e);
}
}
public String checkNull(String input)
{
if (input == null || "null".equalsIgnoreCase(input))
{
input = "";
}
return input.trim();
}
}
package ibase.dashboard.common.hibernate.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.json.JSONException;
import org.json.JSONArray;
import org.json.JSONObject;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
public class CourseDao {
private UserInfoBean userInfo = null;
public UserInfoBean getUserInfo()
{
return this.userInfo;
}
public void setUserInfo(UserInfoBean userInfo)
{
System.out.println("getUserInfo"+userInfo);
this.userInfo = userInfo;
System.out.println("getUserInfo"+userInfo);
}
public JSONArray getAllCourseData()
{
JSONArray jsnArray = new JSONArray();
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn =null;
StringBuffer sql=new StringBuffer();
ConnDriver connDriver = new ConnDriver();
try
{
if(conn == null)
{
conn = getConnection();
}
sql.append("SELECT ")
.append(" COURSE_CODE,THEROPETIC_AREA, DESCRIPTION,START_DATE,END_DATE,COURSE_TAG,ATTACHMENT,NO_ATTACHMENTS,TRAN_DATE, NO_QUESTIONS ")
.append(" from SRV_COURSE");
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql.toString() );
System.out.println("pstmt["+pstmt+"]");
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat=genericUtility.getApplDateFormat();
String targetDateFormat=genericUtility.getDBDateFormat();
rs = pstmt.executeQuery();
System.out.println("rs querry execute ["+rs+"]");
while( rs.next() )
{
JSONObject jsonObject = new JSONObject();
String startDate = checkNull(rs.getString( "START_DATE" ));
String endDate = checkNull(rs.getString( "END_DATE" ));
String tranDate = checkNull(rs.getString( "TRAN_DATE" ));
String attachMent = checkNull(rs.getString( "ATTACHMENT" ));
String courseID = checkNull(rs.getString( "COURSE_CODE" ));
System.out.println("even date for from and to date before"+startDate);
//startDate=genericUtility.getValidDateString(startDate, sourceDateFormat, targetDateFormat);
//endDate=genericUtility.getValidDateString(endDate, sourceDateFormat, targetDateFormat);
//tranDate=genericUtility.getValidDateString(tranDate, sourceDateFormat, targetDateFormat);
jsonObject.put("COURSE_CODE", courseID);
jsonObject.put("THEROPETIC_AREA", checkNull(rs.getString( "THEROPETIC_AREA" )));
jsonObject.put("DESCRIPTION", checkNull(rs.getString( "DESCRIPTION" )));//
jsonObject.put( "START_DATE", startDate );
jsonObject.put( "END_DATE", endDate );
jsonObject.put("COURSE_TAG", checkNull(rs.getString( "COURSE_TAG" )));
jsonObject.put("ATTACHMENT", attachMent);
JSONArray videoList=getCourseVideoPath(attachMent);
JSONArray courseQuestList=getAllQuestions(courseID);
//JSONArray courseInformation = new JSONArray();
/*JSONObject courseInformation = new JSONObject();
courseInformation.put("VIDEO_LIST", videoList);
courseInformation.put("COURSE_QUESTION", courseQuestList);*/
//courseInformation.put(courseDetail);
jsonObject.put("VIDEO_LIST", videoList);
jsonObject.put("COURSE_QUESTION", courseQuestList);
jsonObject.put("NO_ATTACHMENTS", checkNull(rs.getString( "NO_ATTACHMENTS" )));
jsonObject.put("TRAN_DATE", tranDate);
jsonObject.put("NO_QUESTIONS", checkNull(rs.getString( "NO_QUESTIONS" )));
jsnArray.put(jsonObject );
}
System.out.println("getAllCourseData ["+jsnArray+"]");
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in EDetailingDao["+e.getMessage()+"]");
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
}
}
return jsnArray;
}
public JSONObject getCourseData(String courseId)
{
JSONObject courseObj = new JSONObject();
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn =null;
StringBuffer sql=new StringBuffer();
ConnDriver connDriver = new ConnDriver();
JSONObject jsonObject = new JSONObject();
try
{
if(conn == null)
{
conn = getConnection();
}
sql.append("SELECT ")
.append(" COURSE_CODE,THEROPETIC_AREA, DESCRIPTION,START_DATE,END_DATE,COURSE_TAG,ATTACHMENT,NO_ATTACHMENTS,TRAN_DATE, NO_QUESTIONS ")
.append(" from SRV_COURSE")
.append(" WHERE COURSE_CODE='"+courseId+"'");
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql.toString() );
System.out.println("pstmt["+pstmt+"]");
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat=genericUtility.getApplDateFormat();
String targetDateFormat=genericUtility.getDBDateFormat();
rs = pstmt.executeQuery();
System.out.println("rs querry execute ["+rs+"]");
while( rs.next() )
{
String startDate = checkNull(rs.getString( "START_DATE" ));
String endDate = checkNull(rs.getString( "END_DATE" ));
String tranDate = checkNull(rs.getString( "TRAN_DATE" ));
String attachMent = checkNull(rs.getString( "ATTACHMENT" ));
courseId = checkNull(rs.getString( "COURSE_CODE" ));
System.out.println("even date for from and to date before"+startDate+attachMent);
//startDate=genericUtility.getValidDateString(startDate, sourceDateFormat, targetDateFormat);
//endDate=genericUtility.getValidDateString(endDate, sourceDateFormat, targetDateFormat);
//tranDate=genericUtility.getValidDateString(tranDate, sourceDateFormat, targetDateFormat);
jsonObject.put("COURSE_CODE", courseId);
jsonObject.put("THEROPETIC_AREA", checkNull(rs.getString( "THEROPETIC_AREA" )));
jsonObject.put("DESCRIPTION", checkNull(rs.getString( "DESCRIPTION" )));//
jsonObject.put( "START_DATE", startDate );
jsonObject.put( "END_DATE", endDate );
jsonObject.put("COURSE_TAG", checkNull(rs.getString( "COURSE_TAG" )));
jsonObject.put("ATTACHMENT", attachMent);
JSONArray videoList=getCourseVideoPath(attachMent);
JSONArray courseQuestList=getAllQuestions(courseId);
//JSONArray courseInformation = new JSONArray();
/*JSONObject courseInformation = new JSONObject();
courseInformation.put("VIDEO_LIST", videoList);
courseInformation.put("COURSE_QUESTION", courseQuestList);*/
//courseInformation.put(courseDetail);
//jsonObject.put("COURSE_INFORMATION", courseInformation);
jsonObject.put("VIDEO_LIST", videoList);
jsonObject.put("COURSE_QUESTION", courseQuestList);
/*JSONArray videoList=getCourseVideoPath(attachMent);
jsonObject.put("VIDEO_LIST", videoList);*/
jsonObject.put("NO_ATTACHMENTS", checkNull(rs.getString( "NO_ATTACHMENTS" )));
jsonObject.put("TRAN_DATE", tranDate);
jsonObject.put("NO_QUESTIONS", checkNull(rs.getString( "NO_QUESTIONS" )));
}
System.out.println(" getCourseData ["+jsonObject+"]");
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in EDetailingDao["+e.getMessage()+"]");
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
}
}
return jsonObject;
}
public JSONArray getAllQuestions(String courseId) {
JSONArray jsnArray = new JSONArray();
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn =null;
StringBuffer sql=new StringBuffer();
ConnDriver connDriver = new ConnDriver();
try
{
if(conn == null)
{
conn = getConnection();
}
sql.append("select COURSE_CODE,LINE_NO,QUESTION,OPTION_A,OPTION_B,OPTION_C,OPTION_D,MULTI_OPT,ANSWER ")
.append(" from SRV_COURSE_DET ")
.append(" where COURSE_CODE='"+courseId+"'");
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql.toString() );
System.out.println("pstmt["+pstmt+"]");
rs = pstmt.executeQuery();
System.out.println("rs querry execute ["+rs+"]");
int count = 1;
while( rs.next() )
{
JSONObject jsonObject = new JSONObject();
jsonObject.put("COURSE_CODE", checkNull(rs.getString( "COURSE_CODE" )));
jsonObject.put("LINE_NO", rs.getInt("LINE_NO"));
jsonObject.put("QUEST_NO", count);
jsonObject.put("QUESTION", checkNull(rs.getString( "QUESTION" )));//
jsonObject.put("MULTI_OPT", checkNull(rs.getString( "MULTI_OPT" )));
/*jsonObject.put("OPTION_A", checkNull(rs.getString( "OPTION_A" )));
jsonObject.put("OPTION_B", checkNull(rs.getString( "OPTION_B" )));
jsonObject.put("OPTION_C", checkNull(rs.getString( "OPTION_C" )));
jsonObject.put("OPTION_D", checkNull(rs.getString( "OPTION_D" )));*/
JSONArray options = new JSONArray();
options.put(rs.getString( "OPTION_A" ));
options.put(rs.getString( "OPTION_B" ));
options.put(rs.getString( "OPTION_C" ));
options.put(rs.getString( "OPTION_D" ));
jsonObject.put("OPTIONS",options);
jsonObject.put("ANSWER", checkNull(rs.getString( "ANSWER" )));
jsonObject.put("SELECTED_ANS", "");
jsnArray.put(jsonObject );
count++;
}
System.out.println("getAllQuestions ["+jsnArray+"]");
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in EDetailingDao["+e.getMessage()+"]");
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
}
}
return jsnArray;
}
public JSONObject getQuestionData(String courseId, String questionId) {
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn =null;
StringBuffer sql=new StringBuffer();
ConnDriver connDriver = new ConnDriver();
JSONObject jsonObject = new JSONObject();
try
{
if(conn == null)
{
conn = getConnection();
}
sql.append("select COURSE_CODE,LINE_NO,QUESTION,OPTION_A,OPTION_B,OPTION_C,OPTION_D,MULTI_OPT,ANSWER")
.append(" from SRV_COURSE_DET ")
.append(" where COURSE_CODE='"+courseId+"'")
.append(" AND QUESTION='"+questionId+"'");
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql.toString() );
System.out.println("pstmt["+pstmt+"]");
rs = pstmt.executeQuery();
System.out.println("rs querry execute ["+rs+"]");
int count = 1;
while( rs.next() )
{
jsonObject.put("COURSE_CODE", checkNull(rs.getString( "COURSE_CODE" )));
jsonObject.put("LINE_NO", rs.getInt("LINE_NO"));
jsonObject.put("QUEST_NO", count);
jsonObject.put("QUESTION", checkNull(rs.getString( "QUESTION" )));
jsonObject.put("MULTI_OPT", checkNull(rs.getString( "MULTI_OPT" )));
/*jsonObject.put("OPTION_A", checkNull(rs.getString( "OPTION_A" )));
jsonObject.put("OPTION_B", checkNull(rs.getString( "OPTION_B" )));
jsonObject.put("OPTION_C", checkNull(rs.getString( "OPTION_C" )));
jsonObject.put("OPTION_D", checkNull(rs.getString( "OPTION_D" )));*/
JSONArray options = new JSONArray();
options.put(rs.getString( "OPTION_A" ));
options.put(rs.getString( "OPTION_B" ));
options.put(rs.getString( "OPTION_C" ));
options.put(rs.getString( "OPTION_D" ));
jsonObject.put("OPTIONS",options);
//jsonObject.put("ANSWER", checkNull(rs.getString( "ANSWER" )));
jsonObject.put("SELECTED_ANS", "");
count++;
}
System.out.println("getQuestionData ["+jsonObject+"]");
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in EDetailingDao["+e.getMessage()+"]");
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
}
}
return jsonObject;
}
public JSONArray getCourseVideoPath(String attachMentId) {
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn =null;
StringBuffer sql=new StringBuffer();
ConnDriver connDriver = new ConnDriver();
String docId="";
JSONArray jsnArray = new JSONArray();
try
{
if(conn == null)
{
conn = getConnection();
}
sql.append("SELECT DOC_ID FROM doc_transaction_link WHERE ref_id='"+attachMentId+"'")
.append(" AND ref_ser='COURSE' ");
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql.toString() );
System.out.println("pstmt["+pstmt+"]");
rs = pstmt.executeQuery();
System.out.println("rs querry execute ["+rs+"]");
while( rs.next() )
{
JSONObject jsonObject = new JSONObject();
docId = checkNull(rs.getString( "DOC_ID" ));
jsonObject.put("DOC_ID",docId);
jsonObject.put("VIDEO_PATH", "/ibase/WebITMDocumentHandlerServlet?ACTION=GET_DOCUMENT&DOC_ID="+docId+"&DOC_TYPE=mp4");
jsonObject.put("IMAGE_PATH", "/ibase/DocumentViewerServlet?ACTION=GET_PREVIEW_IMAGE&DOC_ID="+docId+"&ENTERPRISE=Driver");
jsonObject.put("FILE_TYPE", "mp4");
jsonObject.put("TIME", "");
jsonObject.put("PERCENTAGE", "0");
jsnArray.put(jsonObject);
}
System.out.println("getQuestionData ["+jsnArray+"]");
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in EDetailingDao["+e.getMessage()+"]");
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
}
}
return jsnArray;
}
public Connection getConnection()
{
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" In StrgMeetwizardBean :: getConnection() :: ["+this.userInfo+"]");
if(this.userInfo != null)
{
String transDB = this.userInfo.getTransDB();
System.out.println(" StrgMeetwizardBean getConnection :: transDB :: ["+transDB+"]");
if( transDB != null && transDB.trim().length() > 0 && !"null".equalsIgnoreCase(transDB))
{
conn = connDriver.getConnectDB(transDB);
connDriver = null;
System.out.println(" StrgMeetwizardBean getConnection :: transDB :: on if condition :["+transDB+"]");
}
else
{
System.out.println(" StrgMeetwizardBean :: transDB is null :: So that creating connection using DriverITM....");
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
}
}
else
{
System.out.println(" StrgMeetwizardBean :: UserInfo is null :: So that creating connection using DriverITM....");
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
}
}
catch(Exception e)
{
System.out.println("Exception : [StrgMeetwizardBean][getConnection] :==>\n"+e.getMessage());
e.printStackTrace();
}
return conn;
}
public String checkNull(String input)
{
if (input == null || "null".equalsIgnoreCase(input))
{
input= "";
}
return input.trim();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment