[Ils-source] r1486 - in trunk/webapp/api/courseattempt: . assignretake get

scribe at crosswire.org scribe at crosswire.org
Fri Jul 29 16:48:27 MST 2016


Author: scribe
Date: 2016-07-29 16:48:26 -0700 (Fri, 29 Jul 2016)
New Revision: 1486

Added:
   trunk/webapp/api/courseattempt/assignretake/
Removed:
   trunk/webapp/api/courseattempt/assignRetake/
Modified:
   trunk/webapp/api/courseattempt/assignretake/index.jsp
   trunk/webapp/api/courseattempt/get/index.jsp
Log:
Fixed courseattempt/get to accept and expect 24hr time
Updated courseattempt/assignretake to use latest convention for web services (patch from Adam)



Modified: trunk/webapp/api/courseattempt/assignretake/index.jsp
===================================================================
--- trunk/webapp/api/courseattempt/assignRetake/index.jsp	2016-06-27 23:25:42 UTC (rev 1472)
+++ trunk/webapp/api/courseattempt/assignretake/index.jsp	2016-07-29 23:48:26 UTC (rev 1486)
@@ -20,50 +20,60 @@
 
 <%
 
+	// standard service header ---------------------------------------
+	
+	String serviceName = "courseattempt/assignretake";
+
+	Logger logger = Logger.getLogger(this.getClass());
+	Logger eventsLogger = Logger.getLogger("EVENTS");
+
 	response.setContentType("text/xml");
-	String errorMsg = "";
-	//-- Company logic from login.jsp -------
-	// TODO: consolidate this somewhere
-	String requestURL = request.getRequestURL().toString() + "?" + request.getQueryString();
-	String co = com.resolutions.ils.Utils.getCompanyFromConfig(session, requestURL);
-	if (co == null) co = com.resolutions.ils.Utils.getSysConfig(session).getProperty("Company", null);
-	if (co == null) co = request.getParameter("co");
-	if (co != null) session.setAttribute("co", co);
-	co = (String) session.getAttribute("co");
-	Company company = Company.getCompany((co != null) ? Integer.parseInt(co):1);
 
+	String errMsg = "";
+	int errCode = 0;
+	Company company = Company.getCompany(request);
+
 	boolean apiEnabled = "on".equals(Utils.getSysConfig(session.getServletContext(), company.getCompanyID()).getProperty("APIEnable", "off"));
+	++errCode;
 	if (!apiEnabled) {
-		out.print("<error message=\"API not enabled in system management settings.\" />");
-	return;
+		errMsg = "API not enabled in system management settings.";
+		out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+		eventsLogger.error(serviceName +": " + errMsg);
+		return;
 	}
-	//-----------------------
-	ILSSession ilsSession = null;
+
 	String userID = request.getParameter("ILSUSER");
-	String userPw = request.getParameter("ILSPASSWD");
-	ilsSession = ILSSession.login(company.getCompanyName(), userID, userPw);
+	String userPW = request.getParameter("ILSPASSWD");
+	ILSSession ilsSession = (userID != null && userPW != null)
+			? ILSSession.login(company.getCompanyName(), userID, userPW)
+			: (ILSSession)session.getAttribute("ilsSession");
+	++errCode;
 	if (ilsSession == null) {
-		out.print("<error message=\"Your iLS sign in information is not valid. Please try again.\" />");
+		errMsg = "iLS sign in information is not valid.";
+		out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+		eventsLogger.error(serviceName +": " + errMsg);
 		return;
 	}
-    
-	Logger logger = Logger.getLogger(this.getClass());
-	Logger eventsLogger = Logger.getLogger("EVENTS");
-	String statusMsg = "";
-    	String cidString = request.getParameter("caid");
-    	String reason    = request.getParameter("reason");
+	// end standard service header -----------------------------------
+ 
+	String statusMsg     = "";
+	int courseAttemptID  = -1; try { courseAttemptID = Integer.parseInt(request.getParameter("courseAttemptID")); } catch(Exception e) {}
+	String reason        = request.getParameter("reason");
 	if (reason != null) reason = new String(reason.getBytes("iso8859-1"), "UTF-8");
-    	int cid = -1;
-    	try { cid = Integer.parseInt(cidString); } catch (Exception e) {}
-    	if (reason == null) reason = "";
-    	if (cid > -1) {
-    		CourseAttempt caOrig = CourseAttempt.getCourseAttempt(ilsSession, cid);
-    		if (caOrig != null) {
+	if (reason == null) reason = "";
+	if (courseAttemptID > -1) {
+		CourseAttempt caOrig = CourseAttempt.getCourseAttempt(ilsSession, courseAttemptID);
+		if (caOrig != null) {
 			caOrig.assignRetake(reason, ilsSession, session);
 			out.print("<success />");
 			return;
-    		}
-    	}
+		} else {
+			++errCode;
+			out.print("<error code=\""+errCode+"\" message=\"Course attempt not found.\"/>");
+			eventsLogger.error(serviceName +": " + errMsg);
+			return;
+		}
+	}
 	response.setContentType("text/html");
 %>
 <html>
@@ -72,7 +82,7 @@
 <p>Assign a retake for a course attempt</p>
 <h3>Parameters</h3>
 <table border="1">
-<tr><td><b>caid</b></td><td>Course Attempt ID</td></tr>
+<tr><td><b>courseAttemptID</b></td><td>Course Attempt ID</td></tr>
 <tr><td><b>reason</b></td><td>Reason for retake</td></tr>
 <table>
 </body>

Modified: trunk/webapp/api/courseattempt/get/index.jsp
===================================================================
--- trunk/webapp/api/courseattempt/get/index.jsp	2016-07-13 11:36:13 UTC (rev 1485)
+++ trunk/webapp/api/courseattempt/get/index.jsp	2016-07-29 23:48:26 UTC (rev 1486)
@@ -55,7 +55,7 @@
 	// end standard service header -----------------------------------
 
 
-	SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmm");
+	SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmm");
 	df.setTimeZone(TimeZone.getTimeZone("GMT"));
 	SimpleDateFormat df_out = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
 	df_out.setTimeZone(TimeZone.getTimeZone("GMT"));
@@ -68,7 +68,7 @@
 	String val = request.getParameter("startDateTime");
 	Date startDateTime = null;
 	try { if (val != null) startDateTime = df.parse(val); } catch (Exception e) {
-		out.print("<error code=\""+errCode+"\" message=\"startDateTime must be formatted as yyyyMMddhhmm\"/>");
+		out.print("<error code=\""+errCode+"\" message=\"startDateTime must be formatted as yyyyMMddHHmm\"/>");
 		return;
 	}
 
@@ -76,7 +76,7 @@
 	val = request.getParameter("endDateTime");
 	Date endDateTime = null;
 	try { if (val != null) endDateTime = df.parse(val); } catch (Exception e) {
-		out.print("<error code=\""+errCode+"\" message=\"endDateTime must be formatted as yyyyMMddhhmm\"/>");
+		out.print("<error code=\""+errCode+"\" message=\"endDateTime must be formatted as yyyyMMddHHmm\"/>");
 		return;
 	}
 
@@ -121,8 +121,8 @@
 <table border="1">
 <tbody>
 <tr><th>courseAttemptID</th><td>retrieve a specific course attempt by ID</td></tr>
-<tr><th>startDateTime</th><td>retrieve a set of course attempts by filters, the start of the date and time range for which to retrieve Course Attempt records by completion date, inclusive (yyyyMMddhhmm), e.g., 201201240000</td></tr>
-<tr><th>endDateTime</th><td>the end of the date and time range for which to retrieve Course Attempt records by completion date, exclusive (yyyyMMddhhmm), e.g., 201201250000</td></tr>
+<tr><th>startDateTime</th><td>retrieve a set of course attempts by filters, the start of the date and time range for which to retrieve Course Attempt records by completion date, inclusive (yyyyMMddHHmm), e.g., 201201240000</td></tr>
+<tr><th>endDateTime</th><td>the end of the date and time range for which to retrieve Course Attempt records by completion date, exclusive (yyyyMMddHHmm), e.g., 201201250000</td></tr>
 <tr><td><b>userProfileID</b></td><td>restrict results to a single user</td></tr>
 <tr><td><b>courseID</b></td><td>restrict results to a single course</td></tr>
 <tr><th>detail</th><td>(complete), brief, headeronly</td></tr>




More information about the Ils-source mailing list