Index: lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java =================================================================== diff -u -r8fe3adcab07a1cc7fbc4fbaa0e9517a224055ec7 -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java (.../LoginRequestDispatcher.java) (revision 8fe3adcab07a1cc7fbc4fbaa0e9517a224055ec7) +++ lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java (.../LoginRequestDispatcher.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -68,6 +68,10 @@ public static final String PARAM_LAST_NAME = "lastName"; public static final String PARAM_EMAIL = "email"; + + public static final String PARAM_CUSTOM_CSV = "customCSV"; + + public static final String PARAM_EXT_LMS_ID = "extlmsid"; public static final String METHOD_AUTHOR = "author"; @@ -114,13 +118,19 @@ String requestSrc = request.getParameter(PARAM_REQUEST_SRC); String notifyCloseURL = request.getParameter(PARAM_NOTIFY_CLOSE_URL); + // Custom CSV string to be used for tool adapters + String customCSV = request.getParameter(PARAM_CUSTOM_CSV); + String extLmsId = request.getParameter(PARAM_EXT_LMS_ID); + String parameters = ""; if (requestSrc != null && notifyCloseURL != null) { try { parameters = "&" + PARAM_REQUEST_SRC + "=" + URLEncoder.encode(requestSrc, "UTF8"); parameters += "&" + PARAM_NOTIFY_CLOSE_URL + "=" + URLEncoder.encode(notifyCloseURL, "UTF8"); - } catch (UnsupportedEncodingException e) { + parameters += "&" + PARAM_CUSTOM_CSV + "=" + customCSV; + parameters += "&" + PARAM_EXT_LMS_ID + "=" + extLmsId; + } catch (UnsupportedEncodingException e) { log.error(e); } } else { Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java =================================================================== diff -u -r1dbf40946efb1324c987cccf44c18ad5559cdc53 -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 1dbf40946efb1324c987cccf44c18ad5559cdc53) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -240,6 +240,11 @@ private Boolean supportsOutputs; + /** + * This string identifies the tool as a tool adapter tool, null otherwise + */ + private String extLmsId; + /***************************************************************************** * Constructors *****************************************************************************/ @@ -366,7 +371,7 @@ this.toolDisplayName = toolActivity.getTool().getToolDisplayName(); this.toolVersion = toolActivity.getTool().getToolVersion(); this.supportsOutputs = toolActivity.getTool().getSupportsOutputs(); - + this.extLmsId = toolActivity.getTool().getExtLmsId(); this.helpURL = HelpUtil.constructToolURL(toolActivity.getTool().getHelpUrl(), toolSignature, "", languageCode); } @@ -1038,14 +1043,16 @@ public void setToolActivityUIID(Integer toolActivityUIID) { this.toolActivityUIID = toolActivityUIID; } - - - public Boolean getSupportsOutputs() { return supportsOutputs; } - public void setSupportsOutputs(Boolean supportsOutputs) { this.supportsOutputs = supportsOutputs; } + public String getExtLmsId() { + return extLmsId; + } + public void setExtLmsId(String extLmsId) { + this.extLmsId = extLmsId; + } } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LibraryActivityDTO.java =================================================================== diff -u -r1dbf40946efb1324c987cccf44c18ad5559cdc53 -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LibraryActivityDTO.java (.../LibraryActivityDTO.java) (revision 1dbf40946efb1324c987cccf44c18ad5559cdc53) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LibraryActivityDTO.java (.../LibraryActivityDTO.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -82,6 +82,7 @@ private String authoringURL; private String adminURL; private Boolean supportsOutputs; + private String extLmsId; /* Grouping Activities */ @@ -102,6 +103,8 @@ /** Used for I18N the URLS. Does not need to be sent to clients, so no getter exists. */ private String languageCode; + + private Boolean toolAdapter; public LibraryActivityDTO (Activity activity, String languageCode) { @@ -194,6 +197,7 @@ this.authoringURL = tool.getAuthorUrl(); this.adminURL = tool.getAdminUrl(); this.supportsOutputs = tool.getSupportsOutputs(); + this.extLmsId = tool.getExtLmsId(); this.helpURL = HelpUtil.constructToolURL(tool.getHelpUrl(), toolSignature, "", languageCode); } @@ -545,5 +549,12 @@ this.supportsOutputs = supportsOutputs; } + public String getExtLmsId() { + return extLmsId; + } + public void setExtLmsId(String extLmsId) { + this.extLmsId = extLmsId; + } + } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java =================================================================== diff -u -r1dbf40946efb1324c987cccf44c18ad5559cdc53 -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java (.../BasicToolVO.java) (revision 1dbf40946efb1324c987cccf44c18ad5559cdc53) +++ lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java (.../BasicToolVO.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -116,6 +116,9 @@ /** Does this tool produce output definitions / conditions */ private Boolean supportsOutputs; + + /** Is this tool a tool adapter for an external LMS tool */ + private String extLmsId; /** full constructor */ public BasicToolVO(Long toolId, @@ -142,7 +145,8 @@ String toolIdentifier, String toolVersion, String languageFile, - boolean supportsOutputs) + boolean supportsOutputs, + String extLmsId) { this.supportsGrouping=supportsGrouping; this.learnerUrl=learnerUrl; @@ -168,6 +172,7 @@ this.toolVersion=toolVersion; this.languageFile=languageFile; this.supportsOutputs=supportsOutputs; + this.extLmsId = extLmsId; } /** default constructor */ @@ -507,8 +512,19 @@ public void setSupportsOutputs(boolean supportsOutputs) { this.supportsOutputs = supportsOutputs; } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.IToolVO#getExtLmsId() + */ + public String getExtLmsId() { + return this.extLmsId; + } - public String toString() { + public void setExtLmsId(String extLmsId) { + this.extLmsId = extLmsId; + } + + public String toString() { return new ToStringBuilder(this) .append("toolId", getToolId()) .append("toolSignature", getToolSignature()) @@ -529,6 +545,8 @@ .append(getToolId()) .toHashCode(); } + + } Index: lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java =================================================================== diff -u -r1dbf40946efb1324c987cccf44c18ad5559cdc53 -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java (.../IToolVO.java) (revision 1dbf40946efb1324c987cccf44c18ad5559cdc53) +++ lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java (.../IToolVO.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -91,4 +91,6 @@ public abstract boolean isSupportsOutputs(); + public abstract String getExtLmsId(); + } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java =================================================================== diff -u -r1dbf40946efb1324c987cccf44c18ad5559cdc53 -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java (.../Tool.java) (revision 1dbf40946efb1324c987cccf44c18ad5559cdc53) +++ lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java (.../Tool.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -85,7 +85,7 @@ /** persistent field */ private boolean valid; - + /** nullable persistent field */ private long defaultToolContentId; @@ -122,6 +122,12 @@ /** Does this tool produce output definitions / conditions */ private Boolean supportsOutputs; + + /** + * Null if not a tool adapter tool, otherwise this string maps to the external server + * which this tool adapter will be used for + */ + private String extLmsId; /** * Entries for an tool in a language property file @@ -154,7 +160,9 @@ String toolIdentifier, String toolVersion, String languageFile, - boolean supportsOutputs) + boolean supportsOutputs, + String extLmsId + ) { this.toolId = toolId; this.learnerUrl = learnerUrl; @@ -182,6 +190,7 @@ this.toolVersion = toolVersion; this.languageFile = languageFile; this.supportsOutputs = supportsOutputs; + this.extLmsId = extLmsId; } /** default constructor */ @@ -612,7 +621,19 @@ this.supportsOutputs = supportsOutputs; } - public String toString() { + + /** + * @hibernate.property column="ext_lms_id" length="255" not-null="false" + */ + public String getExtLmsId() { + return extLmsId; + } + + public void setExtLmsId(String extLmsId) { + this.extLmsId = extLmsId; + } + + public String toString() { return new ToStringBuilder(this) .append("toolId", getToolId()) .toString(); @@ -662,7 +683,8 @@ this.toolIdentifier, this.toolVersion, this.languageFile, - this.supportsOutputs); + this.supportsOutputs, + this.extLmsId); return vo; } Index: lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java =================================================================== diff -u -r2c9012c438b8db08571dcf2dff3330d605267eba -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java (.../WDDXTAGS.java) (revision 2c9012c438b8db08571dcf2dff3330d605267eba) +++ lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java (.../WDDXTAGS.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -218,4 +218,7 @@ public static final String LEARNING_DESIGN_TO_IMPORT_ID="learningDesignIDToImport"; public static final String CREATE_NEW_LEARNING_DESIGN="createNewLearningDesign"; + /** Tool adapters specific tags*/ + public static final String CUSTOM_CSV="customCSV"; + } Index: lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java =================================================================== diff -u -r166aa0735bb84ddebe9848373512a69abb3726de -r40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b --- lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java (.../AttributeNames.java) (revision 166aa0735bb84ddebe9848373512a69abb3726de) +++ lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java (.../AttributeNames.java) (revision 40fd34ca6bc3ae5e5466f8c9a17047427f9cd43b) @@ -65,6 +65,8 @@ public static final String PARAM_FILENAME = "filename"; public static final String PARAM_EXPORT_PORTFOLIO_ENABLED = "portfolioEnabled"; public static final String PARAM_CURRENT_TAB = "currentTab"; + public static final String PARAM_CUSTOM_CSV = "customCSV"; + public static final String PARAM_EXT_LMS_ID = "extlmsid"; public static final String PARAM_LIB = "library";