Commit b9814d4c authored by prumde's avatar prumde

Added CourseAPIService with new Service Path for Updating UserData

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@199200 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 432baeba
package ibase.dashboard.common.webService;
import java.text.SimpleDateFormat;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import org.json.JSONArray;
import org.json.JSONObject;
import ibase.dashboard.common.hibernate.dao.CourseDao;
import ibase.hibernate.bean.UserDocContent;
import ibase.utility.BaseException;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
@Path("/api")
public class CoursService {
@Context
HttpServletRequest request; // The proxy of Request will be injected into this singleton
@GET
@Path("/course/all")
@Produces(MediaType.APPLICATION_JSON)
public String getAllCoursesInfo() throws Exception
{
HttpSession session = request.getSession();
String sessionId=request.getSession().getId() ;
JSONArray jsnArray = new JSONArray();
ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
try
{
if(userInfo != null ) {
System.out.println("get all course info ");
CourseDao courseDao = new CourseDao();
courseDao.setUserInfo(getUserInfo());
jsnArray=courseDao.getAllCourseData();
}
}
catch (Exception e)
{
System.out.println("Inside getAllCourseInfo :::"+e);
}
return jsnArray.toString();
}
@GET
@Path("/course/{courseId}")
@Produces(MediaType.APPLICATION_JSON)
public String getCourseInfo(@PathParam("courseId") String courseId ) throws Exception
{
HttpSession session = request.getSession();
String sessionId=request.getSession().getId() ;
JSONObject courseData = new JSONObject();
ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
try
{
if(userInfo != null ) {
System.out.println("get getCourseInfo "+courseId);
CourseDao courseDao = new CourseDao();
courseDao.setUserInfo(getUserInfo());
courseData=courseDao.getCourseData(courseId);
}
}
catch (Exception e)
{
System.out.println("Inside getAllCourseInfo :::"+e);
}
return courseData.toString();
}
@GET
@Path("/course/question/{courseId}/all")
@Produces(MediaType.APPLICATION_JSON)
public String getAllQuestions(@PathParam("courseId") String courseId ) throws Exception
{
HttpSession session = request.getSession();
String sessionId=request.getSession().getId() ;
JSONArray questionData = new JSONArray();
ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
try
{
if(userInfo != null ) {
System.out.println("get getCourseInfo "+courseId);
CourseDao courseDao = new CourseDao();
courseDao.setUserInfo(getUserInfo());
questionData=courseDao.getAllQuestions(courseId);
}
}
catch (Exception e)
{
System.out.println("Inside getAllQuestions :::"+e);
}
return questionData.toString();
}
@GET
@Path("/course/question/{courseId}/{questionId}")
@Produces(MediaType.APPLICATION_JSON)
public String getQuestionData(@PathParam("courseId") String courseId ,@PathParam("questionId") String questionId ) throws Exception
{
HttpSession session = request.getSession();
String sessionId=request.getSession().getId() ;
JSONObject courseData = new JSONObject();
ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
try
{
if(userInfo != null ) {
System.out.println("get getCourseInfo "+courseId);
CourseDao courseDao = new CourseDao();
courseDao.setUserInfo(getUserInfo());
courseData=courseDao.getQuestionData(courseId,questionId);
}
}
catch (Exception e)
{
System.out.println("Inside getQuestionData :::"+e);
}
return courseData.toString();
}
private UserInfoBean getUserInfo()
{
UserInfoBean userInfo = null;
HttpSession session = request.getSession();
Object userObj = session.getAttribute( "USER_INFO" );
System.out.println(" CustomerInfoService getUserInfo userObj >>[" + userObj + "]" );
if(userObj != null)
{
try
{
userInfo = new UserInfoBean( userObj.toString() );
}
catch (BaseException e)
{
e.printStackTrace();
}
}
return userInfo;
}
}
package ibase.dashboard.common.webService;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import ibase.dashboard.common.hibernate.bean.Course;
import ibase.dashboard.common.hibernate.dao.CourseDAO;
import ibase.utility.BaseException;
import ibase.utility.BaseLogger;
import ibase.utility.UserInfoBean;
@Path("/api")
public class CourseAPIService
{
@Context
HttpServletRequest request; // The proxy of Request will be injected into this singleton
//For adding / updating selected Course in CourseAttend table
/*
courseData :
{
"COURSE_STATUS" : "",
"COURSE_RATING" : ""
}
*/
@POST
@Path("/course/{courseCode}")
@Produces(MediaType.APPLICATION_JSON)
public String updateCourseAttend(@PathParam("courseCode") String courseCode, String courseData) throws Exception
{
JSONObject courseDataObj = new JSONObject();
try
{
UserInfoBean userInfo = getUserInfo();
if (userInfo != null)
{
CourseDAO courseDAO = new CourseDAO();
courseDAO.setUserInfo(userInfo);
courseDAO.updateCourseAttend(courseCode, courseData);
}
}
catch (Exception e)
{
System.out.println("Inside getCourse :::" + e);
}
return courseDataObj.toString();
}
//For adding / updating selected CourseContent in CourseContentAtt table
/*
contentData :
{
"ACCESS_STAT" : "",
"ACCESS_POS" : ""
}
*/
@POST
@Path("/coursecontent/{courseCode}/{contentName}")
@Produces(MediaType.APPLICATION_JSON)
public String updateCourseContentAttend(@PathParam("courseCode") String courseCode, @PathParam("contentName") String contentName, String contentData) throws Exception
{
JSONObject resultData = new JSONObject();
try
{
UserInfoBean userInfo = getUserInfo();
if (userInfo != null)
{
CourseDAO courseDAO = new CourseDAO();
courseDAO.setUserInfo(userInfo);
courseDAO.updateCourseContentAtt(courseCode, contentName, contentData);
}
}
catch (Exception e)
{
System.out.println("Inside getAllQuestions :::" + e);
}
return resultData.toString();
}
//For adding / updating selected CourseTestQues in CourseTestRes table
/*
qsetAnswData :
[
{
"QUES_SET" : "",
"SEQ_NO" : 1,
"TEST_DATA" : ""
},
{
"QUES_SET" : "",
"SEQ_NO" : 2,
"TEST_DATA" : ""
},
{
"QUES_SET" : "",
"SEQ_NO" : 3,
"TEST_DATA" : ""
}
]
*/
@POST
@Path("/coursetest/{courseCode}")
@Produces(MediaType.APPLICATION_JSON)
public String updateCourseTestRes(@PathParam("courseCode") String courseCode, String qsetAnswData) throws Exception
{
JSONObject resultData = new JSONObject();
try
{
UserInfoBean userInfo = getUserInfo();
if (userInfo != null)
{
CourseDAO courseDAO = new CourseDAO();
courseDAO.setUserInfo(userInfo);
courseDAO.updateCourseTestRes(courseCode, qsetAnswData);
}
}
catch (Exception e)
{
System.out.println("Inside getQuestionData :::" + e);
}
return resultData.toString();
}
//For getting All Course Details
@GET
@Path("/course/all")
@Produces(MediaType.APPLICATION_JSON)
public Response getAllCourses(@QueryParam("USER_INFO") String userInfoStr) throws Exception
{
BaseLogger.log("3",null,null,"Inside getContents of ContentLibraryService");
JSONObject respJsonObject = new JSONObject();
try
{
UserInfoBean userInfo = null;
if(userInfoStr != null)
{
BaseLogger.log("3",null,null,"userInfoStr :: "+userInfoStr);
userInfo = new UserInfoBean(userInfoStr);
}
else
{
userInfo = getUserInfo();
}
if( userInfo != null )
{
CourseDAO courseDao = new CourseDAO();
courseDao.setUserInfo(userInfo);
List<Course> courseList = courseDao.getCourses();
BaseLogger.log("3",null,null,"courseList :: "+courseList);
if( courseList != null && !courseList.isEmpty() )
{
List<String> courseCodeList = new ArrayList<String>();
Map<String, Course> courseMap = new HashMap<String, Course>();
for(Course course : courseList)
{
courseCodeList.add(course.getCourseCode());
courseMap.put(course.getCourseCode() ,course);
}
JSONArray courseArray = courseDao.getUserCourseData(courseMap, courseCodeList);
respJsonObject.put("courses", courseArray );
respJsonObject.put("result", getResponseMessage("Data Loaded Successfully ! ","Success") );
}
else
{
respJsonObject.put("courses", new JSONArray() );
respJsonObject.put("result", getResponseMessage("No Data Found ! ","Success") );
}
}
else
{
respJsonObject.put("result", getResponseMessage("Unauthorised Access Denied ! ","Failure"));
}
}
catch (JSONException e)
{
e.printStackTrace();
}
catch (BaseException e)
{
e.printStackTrace();
}
return Response.status(200).entity(respJsonObject.toString()).build();
}
@POST
@Path("/LogDocUsage")
@Produces({ "application/json" })
@Consumes({ "application/json" })
public Response logDocUsage(String data) throws JSONException
{
System.out.println("Inside logDocUsage/n"+data);
JSONObject responseObj = new JSONObject();
UserInfoBean userInfo = getUserInfo();
try
{
if(userInfo != null )
{
CourseDAO courseDao = new CourseDAO();
courseDao.logDocUsage(data, userInfo);
responseObj.put("status", "success");
}
}
catch (Exception e)
{
System.out.println("Exception in logDocUsage :::"+e);
responseObj.put("status", "failure");
}
return Response.status(200).entity( responseObj.toString() ).build();
}
/*
//Unused
//For getting Single Course Details
@GET
@Path("/course/{courseCode}")
@Produces(MediaType.APPLICATION_JSON)
public String getCourse(@PathParam("courseCode") String courseCode) throws Exception
{
JSONObject courseData = new JSONObject();
try
{
UserInfoBean userInfo = getUserInfo();
if (userInfo != null)
{
CourseAPIDao courseDao = new CourseAPIDao();
courseDao.setUserInfo(userInfo);
courseData = courseDao.getCourseData(courseCode);
}
}
catch (Exception e)
{
System.out.println("Inside getCourse :::" + e);
}
return courseData.toString();
}
//Unused
//For getting Questions from All Question Set of a Course
@GET
@Path("/course/question/{courseCode}/all")
@Produces(MediaType.APPLICATION_JSON)
public String getAllQuestions(@PathParam("courseCode") String courseCode) throws Exception
{
JSONArray questionData = new JSONArray();
try
{
UserInfoBean userInfo = getUserInfo();
if (userInfo != null)
{
CourseAPIDao courseDao = new CourseAPIDao();
courseDao.setUserInfo(userInfo);
questionData = courseDao.getCourseQuestions(courseCode);
}
}
catch (Exception e)
{
System.out.println("Inside getAllQuestions :::" + e);
}
return questionData.toString();
}
//Unused
//For getting Questions from Question Set of a Course
@GET
@Path("/course/question/{courseCode}/{questSet}")
@Produces(MediaType.APPLICATION_JSON)
public String getQuestionData(@PathParam("courseCode") String courseCode, @PathParam("questSet") String questSet) throws Exception
{
JSONObject courseData = new JSONObject();
try
{
UserInfoBean userInfo = getUserInfo();
if (userInfo != null)
{
CourseAPIDao courseDao = new CourseAPIDao();
courseDao.setUserInfo(userInfo);
courseData = courseDao.getQuestionData(courseCode, questSet);
}
}
catch (Exception e)
{
System.out.println("Inside getQuestionData :::"+e);
}
return courseData.toString();
}
*/
private UserInfoBean getUserInfo()
{
UserInfoBean userInfo = null;
HttpSession session = request.getSession();
Object userObj = session.getAttribute( "USER_INFO" );
System.out.println(" CustomerInfoService getUserInfo userObj >>[" + userObj + "]" );
if(userObj != null)
{
try
{
userInfo = new UserInfoBean( userObj.toString() );
}
catch (BaseException e)
{
e.printStackTrace();
}
}
return userInfo;
}
private JSONObject getResponseMessage(String successResponse, String status)
{
JSONObject respMessage = new JSONObject();
try
{
respMessage.put("message", successResponse);
respMessage.put("status", status);
}
catch (JSONException e)
{
e.printStackTrace();
}
return respMessage;
}
//srvUserInfo
}
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