Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/Tool.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/Tool.hbm.xml,v diff -u -r1.12 -r1.13 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/Tool.hbm.xml 18 Mar 2008 04:17:58 -0000 1.12 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/Tool.hbm.xml 15 Aug 2008 04:48:09 -0000 1.13 @@ -385,8 +385,23 @@ length="1" not-null="true" - - + + + + + name="extLmsId" + type="java.lang.String" + column="ext_lms_id" + length="255" + + + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/create_lams_11_tables.sql,v diff -u -r1.113 -r1.114 --- lams_common/db/sql/create_lams_11_tables.sql 14 Apr 2008 23:33:37 -0000 1.113 +++ lams_common/db/sql/create_lams_11_tables.sql 15 Aug 2008 04:48:49 -0000 1.114 @@ -470,6 +470,7 @@ , context_file VARCHAR(255) , admin_url TEXT , supports_outputs TINYINT(1) DEFAULT 0 + , ext_lms_id VARCHAR(255) DEFAULT NULL , UNIQUE UQ_lams_tool_sig (tool_signature) , UNIQUE UQ_lams_tool_class_name (service_name) , PRIMARY KEY (tool_id) Index: lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java,v diff -u -r1.5 -r1.6 --- lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java 7 Nov 2007 05:57:05 -0000 1.5 +++ lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java 15 Aug 2008 04:42:40 -0000 1.6 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java,v diff -u -r1.41 -r1.42 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java 18 Mar 2008 04:17:58 -0000 1.41 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java 15 Aug 2008 04:42:40 -0000 1.42 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LibraryActivityDTO.java,v diff -u -r1.19 -r1.20 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LibraryActivityDTO.java 18 Mar 2008 04:17:58 -0000 1.19 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LibraryActivityDTO.java 15 Aug 2008 04:42:40 -0000 1.20 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java,v diff -u -r1.8 -r1.9 --- lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java 18 Mar 2008 04:17:58 -0000 1.8 +++ lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java 15 Aug 2008 04:42:40 -0000 1.9 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java,v diff -u -r1.8 -r1.9 --- lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java 18 Mar 2008 04:17:58 -0000 1.8 +++ lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java 15 Aug 2008 04:42:40 -0000 1.9 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java,v diff -u -r1.22 -r1.23 --- lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java 18 Mar 2008 04:17:58 -0000 1.22 +++ lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java 15 Aug 2008 04:42:40 -0000 1.23 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java,v diff -u -r1.27 -r1.28 --- lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java 6 May 2008 00:32:56 -0000 1.27 +++ lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java 15 Aug 2008 04:42:56 -0000 1.28 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java,v diff -u -r1.21 -r1.22 --- lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java 2 May 2008 04:40:49 -0000 1.21 +++ lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java 15 Aug 2008 04:42:40 -0000 1.22 @@ -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";