Index: lams_bb_integration/web/links/monitor.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_bb_integration/web/links/monitor.jsp,v diff -u -r1.8 -r1.9 --- lams_bb_integration/web/links/monitor.jsp 4 Jan 2017 05:48:28 -0000 1.8 +++ lams_bb_integration/web/links/monitor.jsp 21 Apr 2017 20:35:36 -0000 1.9 @@ -1,152 +1,13 @@ -<%@ page import="java.util.*, java.net.*, - java.text.SimpleDateFormat, - blackboard.data.*, - blackboard.persist.*, - blackboard.data.course.*, - blackboard.data.user.*, - blackboard.data.navigation.*, - blackboard.persist.course.*, - blackboard.persist.navigation.*, - blackboard.data.content.*, - blackboard.persist.content.*, - blackboard.db.*, - blackboard.base.*, - blackboard.platform.*, - blackboard.platform.plugin.*, - blackboard.platform.persistence.*, - org.lamsfoundation.ld.integration.*, - org.lamsfoundation.ld.integration.blackboard.*" errorPage="error.jsp" %> +<%@ page contentType="text/html; charset=utf-8" language="java"%> +<%@ page isELIgnored="false" %> + + +<%@ page errorPage="error.jsp"%> <%@ taglib uri="/bbNG" prefix="bbNG"%> <%@ taglib uri="/bbData" prefix="bbData"%> +<%@ taglib uri="/tags-core" prefix="c"%> -<%! -public static String extractParameterValue(String url, String param) { - if (url != null && param != null) { - int quotationMarkIndex = url.indexOf("?"); - String queryPart = quotationMarkIndex > -1 ? url.substring(quotationMarkIndex + 1) : url; - String[] paramEntries = queryPart.split("&"); - for (String paramEntry : paramEntries) { - String[] paramEntrySplitted = paramEntry.split("="); - if ((paramEntrySplitted.length > 1) && param.equalsIgnoreCase(paramEntrySplitted[0])) { - return paramEntrySplitted[1]; - } - } - } - return null; -} -public String getChild(Content f, ContentDbLoader cLoader) { - StringBuilder sb = new StringBuilder(); - try { - - if (f.getIsFolder()) { - - BbList cList = cLoader.loadChildren(f.getId()); - Content[] cArray = cList.toArray(new Content[0]); - //sort content by title - Arrays.sort(cArray, new Comparator() { - @Override - public int compare(Content o1, Content o2) { - if (o1 != null && o2 != null) { - return o1.getTitle().compareToIgnoreCase(o2.getTitle()); - } else if (o1 != null) - return 1; - else - return -1; - } - }); - - String title = f.getTitle(); - if (title.indexOf("'") != -1) { - title = title.replace("'", "\\'"); - } - sb.append("{type:'Text', label:'" + title + "', id:0"); - - if (cArray.length == 0) { - sb.append(", expanded:0, children:[{type:'HTML', html:'null', id:0}]}"); - return sb.toString(); - - } else { - sb.append(", children:["); - sb.append(getChild(cArray[0], cLoader)); - for (int i = 1; i < cArray.length; i++) { - sb.append(", ").append(getChild(cArray[i], cLoader)); - } - sb.append("]}"); - } - return sb.toString(); - - } else { - - if (f.getContentHandler().equals("resource/x-lams-lamscontent")) { - String strUrl = f.getUrl(); - String strId = extractParameterValue(strUrl, "lsid"); - String strTitle = f.getTitle().replace("'", "\\'"); - sb.append("{type:'Text', label:'" + strTitle + "', id:'" + strId + "'}"); - // return sb.toString(); - - } else if (f.getContentHandler().equals("resource/x-ntu-hdllams")) { - String strUrl = f.getUrl(); - String strId = "0"; - if (strUrl.indexOf("&seq_id=") != -1) { - int pos1 = strUrl.indexOf("&seq_id=") + 8; -// int pos2 = strUrl.indexOf("&", pos1); - strId = strUrl.substring(pos1); - } - String strTitle = f.getTitle().replace("'", "\\'"); - sb.append("{type:'Text', label:'" + strTitle + "', id:'" + strId + "'}"); - - } else { - // sb.append("{type:'HTML', html:'null', id:0}"); - } - return sb.toString(); - } - - } catch (Exception e) { - return sb.toString(); - } -} -%> - -<% - //check permission - if (!PlugInUtil.authorizeForCourseControlPanel(request, response)) { - return; - } - - BbPersistenceManager bbPm = PersistenceServiceFactory.getInstance().getDbPersistenceManager(); - Container bbContainer = bbPm.getContainer(); - - ContentDbLoader cLoader = (ContentDbLoader) bbPm.getLoader( ContentDbLoader.TYPE ); - - CourseTocDbLoader ctLoader = (CourseTocDbLoader) bbPm.getLoader(CourseTocDbLoader.TYPE); - Id courseId = new PkId(bbContainer, Course.DATA_TYPE, request.getParameter("course_id")); - Course course = ctx.getCourse(); - BbList ctList = ctLoader.loadByCourseId(courseId); - CourseToc[] courseTocs = (CourseToc[]) ctList.toArray(new CourseToc[0]); - String strOut = "[[]]"; - int idx = 0; - StringBuilder strB = new StringBuilder(); - strB.append("[{type:'Text', label:'" + course.getTitle().replace("'", "\\'") + "', id:0, children:["); - for (int i = 0; i < courseTocs.length; i++) { - if (courseTocs[i].getTargetType().compareTo(CourseToc.Target.CONTENT) == 0) { - Content cont = cLoader.loadByTocId(courseTocs[i].getId()); - strB.append(getChild(cont, cLoader)); - idx = i; - break; - } - } - for (int i = idx + 1; i < courseTocs.length; i++) { - if (courseTocs[i].getTargetType().compareTo(CourseToc.Target.CONTENT) == 0) { - Content cont = cLoader.loadByTocId(courseTocs[i].getId()); - strB.append(", ").append(getChild(cont, cLoader)); - } - } - strB.append("]}]"); - strOut = strB.toString(); - - String monitorURL = "monitoring.jsp?course_id=" + course.getId().toExternalString(); -%> @@ -164,6 +25,7 @@ + LAMS Monitor @@ -175,7 +37,7 @@ <%-- Monitor Button --%>
- @@ -189,7 +51,7 @@
-