Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/AddWebAppToApplicationXmlTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/AddWebAppToApplicationXmlTask.java (.../AddWebAppToApplicationXmlTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/AddWebAppToApplicationXmlTask.java (.../AddWebAppToApplicationXmlTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,7 +18,7 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import org.w3c.dom.Document; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreatePackageTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreatePackageTask.java (.../CreatePackageTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreatePackageTask.java (.../CreatePackageTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,10 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 29/11/2005 - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.BufferedWriter; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreateToolPackageTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreateToolPackageTask.java (.../CreateToolPackageTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreateToolPackageTask.java (.../CreateToolPackageTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,10 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 30/11/2005 - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.IOException; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DBTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DBTask.java (.../DBTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DBTask.java (.../DBTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,13 +18,14 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.File; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; +import java.util.Map; import org.apache.commons.io.FileUtils; @@ -60,7 +61,7 @@ { } - public abstract void execute() throws DeployException; + public abstract Map execute() throws DeployException; /** * Setter for property jdbcDriver. Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Deploy.java =================================================================== diff -u -r831d4ba9821e1a2037d2beb98cdca13c422506a2 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Deploy.java (.../Deploy.java) (revision 831d4ba9821e1a2037d2beb98cdca13c422506a2) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Deploy.java (.../Deploy.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,7 +18,7 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.util.List; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployConfig.java =================================================================== diff -u -r831d4ba9821e1a2037d2beb98cdca13c422506a2 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployConfig.java (.../DeployConfig.java) (revision 831d4ba9821e1a2037d2beb98cdca13c422506a2) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployConfig.java (.../DeployConfig.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,7 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ /* * Created on 24/11/2005 */ @@ -64,6 +64,7 @@ public static final String DB_DRIVER_URL = "dbDriverUrl"; public static final String TOOL_SIGNATURE = "toolSignature"; public static final String TOOL_ACTIVITY_INSERT_SCRIPT_PATH = "toolActivityInsertScriptPath"; + public static final String LAMS_EAR_PATH = "lamsEarPath"; public static final String I8N_LANGUAGE_FILES_PACKAGE = "languageFilesPackage"; protected transient String validationError = ""; @@ -89,8 +90,13 @@ * Holds value of property dbPassword. */ private String dbPassword; + /** + * Holds value of property lamsEarPath. + */ + private String lamsEarPath; + /** * Holds the value of the package where I8N files are store * Export format org.lamsfoundation.lams.tool.web @@ -226,6 +232,11 @@ if ( key.equalsIgnoreCase(I8N_LANGUAGE_FILES_PACKAGE) ) { setLanguageFilesPackage(value); } + + if ( key.equalsIgnoreCase(LAMS_EAR_PATH) ) { + setLamsEarPath(value); + } + } /** @@ -303,4 +314,18 @@ public void setLanguageFilesPackage(String languageFilesPackage) { this.languageFilesPackage = languageFilesPackage; } + /** + * @return Returns the lamsEarPath. + */ + public String getLamsEarPath() { + return lamsEarPath; + } + /** + * @param lamsEarPath The lamsEarPath to set. + */ + public void setLamsEarPath(String lamsEarPath) { + this.lamsEarPath = lamsEarPath; + } + } + Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployException.java =================================================================== diff -u -rabb3194da8bc2d0b6a661e486fd007aa03412ffc -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployException.java (.../DeployException.java) (revision abb3194da8bc2d0b6a661e486fd007aa03412ffc) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployException.java (.../DeployException.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -1,9 +1,24 @@ -/* - * DeployException.java - * - * Created on 29 March 2005, 16:46 - */ +/* +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +USA + +http://www.gnu.org/licenses/gpl.txt +*/ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; /** @@ -14,6 +29,11 @@ { /** + * + */ + private static final long serialVersionUID = 4637002190190219303L; + + /** * Creates a new instance of DeployException without detail message. */ public DeployException() Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployFilesTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployFilesTask.java (.../DeployFilesTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployFilesTask.java (.../DeployFilesTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,29 +18,38 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.File; +import java.util.HashMap; +import java.util.Map; /** * Deploys required files to the lams ear. * @author chris */ public class DeployFilesTask extends FilesTask { - + public static final String NUM_FILES = "numFiles"; /** - *Executes the task + * Copies files to lams.ear. + * @return Map containing key "numFiles", value Long */ - public void execute() throws DeployException + public Map execute() throws DeployException { File lamsEar = getLamsEar(); - for (int i = 0, size = deployFiles.size(); i < size; i++) + int size = deployFiles.size(); + for (int i = 0; i < size; i++) { copyFile(deployFiles.get(i), lamsEar); } + + Map map = new HashMap(); + map.put(NUM_FILES, new Long(size)); + return map; + } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployLanguageFilesTask.java =================================================================== diff -u -r831d4ba9821e1a2037d2beb98cdca13c422506a2 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployLanguageFilesTask.java (.../DeployLanguageFilesTask.java) (revision 831d4ba9821e1a2037d2beb98cdca13c422506a2) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployLanguageFilesTask.java (.../DeployLanguageFilesTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,9 +18,11 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.File; +import java.util.HashMap; +import java.util.Map; /** * Deploys required language files to the lams ear. Copies all the language files @@ -29,7 +31,8 @@ */ public class DeployLanguageFilesTask extends FilesTask { - + public static final String NUM_FILES = "numFiles"; + private static final String LANGUAGE_JAR_DIRECTORY = "lams-dictionary.jar"; /** @@ -38,9 +41,10 @@ protected String dictionaryPacket; /** - *Executes the task + * Copy the application resources / language files to the lams-dictionary.jar folder + * @return Map containing key "numFiles", value Long */ - public void execute() throws DeployException + public Map execute() throws DeployException { // check the lams ear is okay by getting the file object - this will check // for any problems with the lams ear. @@ -49,12 +53,17 @@ // Go through each language file and copy it into the directory named for the tool's signature. // This means the file ends up as .ApplicationResources File dictionaryDir = getLamsDictionary(); + int count = 0; for (String languageFilename : deployFiles) { System.out.println("Copying file "+languageFilename+" to "+dictionaryDir); copyFile(languageFilename, dictionaryDir); + count++; } - } + Map map = new HashMap(); + map.put(NUM_FILES, new Long(count)); + return map; + } /** Gets the package directory in the dictionary directory in the LAMS ear directory and * checks that it exists, is a directory and is writable. Assumes that lams.ear exists and it @@ -64,9 +73,7 @@ // convert dictionary packet org.lamsfoundation.lams.tool.web to org/lamsfoundation/lams/tool/web if ( dictionaryPacket != null ) { - System.out.println("dictionaryPacket "+dictionaryPacket+" being updated"); dictionaryPacket = dictionaryPacket.replace('.',File.separatorChar); - System.out.println("dictionaryPacket now"+dictionaryPacket); } String packageName = lamsEarPath+File.separator+LANGUAGE_JAR_DIRECTORY+File.separator+dictionaryPacket; File dictionaryDir = new File(packageName); Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployToolConfig.java =================================================================== diff -u -r831d4ba9821e1a2037d2beb98cdca13c422506a2 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployToolConfig.java (.../DeployToolConfig.java) (revision 831d4ba9821e1a2037d2beb98cdca13c422506a2) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployToolConfig.java (.../DeployToolConfig.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,11 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 24/11/2005 - * - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.IOException; @@ -51,7 +47,6 @@ private static final String TOOL_WEB_URI = "toolWebUri"; private static final String TOOL_CONTEXT = "toolContext"; - private static final String LAMS_EAR_PATH = "lamsEarPath"; private static final String TOOL_INSERT_SCRIPT_PATH = "toolInsertScriptPath"; private static final String TOOL_LIBRARY_INSERT_SCRIPT_PATH = "toolLibraryInsertScriptPath"; private static final String TOOL_TABLES_SCRIPT_PATH = "toolTablesScriptPath"; @@ -75,11 +70,6 @@ private String toolContext; /** - * Holds value of property lamsEarPath. - */ - private String lamsEarPath; - - /** * Holds value of property toolInsertScriptPath. */ private String toolInsertScriptPath; @@ -172,10 +162,6 @@ toolContext = value; } - if ( key.equalsIgnoreCase(LAMS_EAR_PATH) ) { - lamsEarPath = value; - } - if ( key.equalsIgnoreCase(TOOL_INSERT_SCRIPT_PATH) ) { toolInsertScriptPath = value; } @@ -238,7 +224,7 @@ valid = validateStringProperty(toolWebUri, TOOL_WEB_URI); valid = valid && validateStringProperty(toolContext, TOOL_CONTEXT); - valid = valid && validateStringProperty(lamsEarPath, LAMS_EAR_PATH); + valid = valid && validateStringProperty(getLamsEarPath(), LAMS_EAR_PATH); valid = valid && validateStringProperty(toolInsertScriptPath, TOOL_INSERT_SCRIPT_PATH); valid = valid && validateStringProperty(toolLibraryInsertScriptPath, TOOL_LIBRARY_INSERT_SCRIPT_PATH); valid = valid && validateStringProperty(toolActivityInsertScriptPath, TOOL_ACTIVITY_INSERT_SCRIPT_PATH); @@ -272,15 +258,15 @@ this.setDbDriverClass(config.getDbDriverClass()); if (config.getLanguageFilesPackage() != null) this.setLanguageFilesPackage(config.getLanguageFilesPackage()); + if (config.getLamsEarPath() != null) + this.setLamsEarPath(config.getLamsEarPath()); if (config.getToolSignature() != null) this.toolSignature = config.getToolSignature(); if (config.getToolWebUri() != null) this.toolWebUri = config.getToolWebUri(); if (config.getToolContext() != null) this.toolContext = config.getToolContext(); - if (config.getLamsEarPath() != null) - this.lamsEarPath = config.getLamsEarPath(); if (config.getToolInsertScriptPath() != null) this.toolInsertScriptPath = config.getToolInsertScriptPath(); if (config.getToolLibraryInsertScriptPath() != null) @@ -304,7 +290,6 @@ System.out.println("Tool Signature: " + this.toolSignature); System.out.println("ToolWebUri: " + this.toolWebUri); System.out.println("ToolContext: " + this.toolContext); - System.out.println("LamsEarPath: " + this.lamsEarPath); System.out.println("ToolInsertScriptPath: " + this.toolInsertScriptPath); System.out.println("ToolLibraryInsertScriptPath: " + this.toolLibraryInsertScriptPath); System.out.println("ToolActivityInsertScriptPath: " + this.toolActivityInsertScriptPath); @@ -315,6 +300,7 @@ System.out.println("DbDriverClass: " + getDbDriverClass()); System.out.println("DbDriverUrl: " + getDbDriverUrl()); System.out.println("LanguageFilesPackage: " + getLanguageFilesPackage()); + System.out.println("LamsEarPath: " + getLamsEarPath()); ArrayList list = this.deployFiles; for(int i=0; i replacementMap) { if (file == null) { Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FilesTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FilesTask.java (.../FilesTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FilesTask.java (.../FilesTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,10 +18,11 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import org.apache.commons.io.FileUtils; @@ -68,7 +69,7 @@ this.deployFiles = deployFiles; } - /** + /** * Copy a file to a given directory */ protected void copyFile(String fileName, File directory) throws DeployException Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/RemoveWebAppFromApplicationXmlTask.java =================================================================== diff -u -r60f8ad90ac03834ede1c4a45585f7f117d5844de -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/RemoveWebAppFromApplicationXmlTask.java (.../RemoveWebAppFromApplicationXmlTask.java) (revision 60f8ad90ac03834ede1c4a45585f7f117d5844de) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/RemoveWebAppFromApplicationXmlTask.java (.../RemoveWebAppFromApplicationXmlTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,7 +18,7 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import org.w3c.dom.Document; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ScriptRunner.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ScriptRunner.java (.../ScriptRunner.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ScriptRunner.java (.../ScriptRunner.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,7 +18,7 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Task.java =================================================================== diff -u -rabb3194da8bc2d0b6a661e486fd007aa03412ffc -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Task.java (.../Task.java) (revision abb3194da8bc2d0b6a661e486fd007aa03412ffc) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Task.java (.../Task.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,9 +18,11 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; +import java.util.Map; + /** * Defines a Task in the tool deploy or undeploy process. * @author chris @@ -30,7 +32,9 @@ /** * Executes the task. * @throws DeployException if Task cannot be executed. + * @return Map of possibly useful values, such as the new ids + * created in the database. Values will vary from Task to Task. * */ - public void execute() throws DeployException; + public Map execute() throws DeployException; } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBActivateTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBActivateTask.java (.../ToolDBActivateTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBActivateTask.java (.../ToolDBActivateTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,12 +18,13 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.util.Map; import org.apache.commons.dbutils.DbUtils; @@ -49,7 +50,10 @@ { } - public void execute() throws DeployException + /** Activates the tool and library. + * @return null; + */ + public Map execute() throws DeployException { Connection conn = getConnection(); try @@ -88,6 +92,7 @@ { DbUtils.closeQuietly(conn); } + return null; } /** Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBDeployTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBDeployTask.java (.../ToolDBDeployTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBDeployTask.java (.../ToolDBDeployTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,7 +18,7 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.File; @@ -38,7 +38,9 @@ */ public class ToolDBDeployTask extends DBTask { - + public static final String TOOL_ID = "toolId"; + public static final String LIB_ID = "libId"; + /** * Holds value of property toolInsertScriptPath. */ @@ -113,7 +115,7 @@ this.toolTablesScriptPath = toolTablesScriptPath; } - public void execute() throws DeployException + public Map execute() throws DeployException { toolInsertScript = new File(toolInsertScriptPath); toolLibraryInsertScript = new File(toolLibraryInsertScriptPath); @@ -146,7 +148,7 @@ updateToolLibraryId(toolId, learningLibraryId, conn); //put the library id into the activity insert script - Map replacementMap = new HashMap(1); + Map replacementMap = new HashMap(1); replacementMap.put("tool_id", Long.toString(toolId)); replacementMap.put("learning_library_id", Long.toString(learningLibraryId)); FileTokenReplacer activityScriptReplacer = new FileTokenReplacer(toolActivityInsertScript, replacementMap); @@ -157,7 +159,7 @@ //put the tool id and and defualt content id into //the tool tables script - replacementMap = new HashMap(1); + replacementMap = new HashMap(1); replacementMap.put("tool_id", Long.toString(toolId)); replacementMap.put("default_content_id", Long.toString(defaultContentId)); FileTokenReplacer toolTablesScriptReplacer = new FileTokenReplacer(toolTablesScript, replacementMap); @@ -197,6 +199,11 @@ { DbUtils.closeQuietly(conn); } + + Map map = new HashMap(); + map.put(TOOL_ID, new Long(toolId)); + map.put(LIB_ID, new Long(learningLibraryId)); + return map; } /** Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBRemoveToolEntriesTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBRemoveToolEntriesTask.java (.../ToolDBRemoveToolEntriesTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBRemoveToolEntriesTask.java (.../ToolDBRemoveToolEntriesTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,14 +18,16 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.HashMap; +import java.util.Map; import org.apache.commons.dbutils.DbUtils; @@ -36,6 +38,8 @@ */ public class ToolDBRemoveToolEntriesTask extends DBTask { + public static final String TOOL_ID = "toolId"; + public static final String LIB_ID = "libId"; /** * Holds value of property toolTablesDeleteScriptPath - deletes @@ -75,7 +79,10 @@ this.toolSignature = toolSignature; } - public void execute() throws DeployException + /** Remove the tool and the related library activity. + * @return Map with two keys "toolId" and "libId", with Long values + **/ + public Map execute() throws DeployException { long toolId = 0; long libId = 0; @@ -134,6 +141,10 @@ { DbUtils.closeQuietly(conn); } + Map map = new HashMap(); + map.put(TOOL_ID, new Long(toolId)); + map.put(LIB_ID, new Long(libId)); + return map; } private void cleanupToolTables(long toolId, long libraryId, Connection conn) throws DeployException Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/UpdateApplicationXmlTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/UpdateApplicationXmlTask.java (.../UpdateApplicationXmlTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/UpdateApplicationXmlTask.java (.../UpdateApplicationXmlTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,11 +18,12 @@ * *http://www.gnu.org/licenses/gpl.txt */ - +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy; import java.io.IOException; +import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -102,14 +103,17 @@ /** * Execute the task * @throws org.apache.tools.ant.DeployException In case of any problems + * @return null */ - public void execute() throws DeployException + public Map execute() throws DeployException { Document doc = parseApplicationXml(); updateApplicationXml(doc); writeApplicationXml(doc); + + return null; } /** Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/CreateLibraryPackageTask.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/CreateLibraryPackageTask.java (.../CreateLibraryPackageTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/CreateLibraryPackageTask.java (.../CreateLibraryPackageTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,10 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 29/11/2005 - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibrary.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibrary.java (.../DeployLibrary.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibrary.java (.../DeployLibrary.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,12 +18,16 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 17/11/2005 - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.lamsfoundation.lams.tool.deploy.DeployLanguageFilesTask; + /** * @author mtruong * @@ -44,16 +48,47 @@ { if ((args.length < 1) || (args[0] == null)) { - throw new IllegalArgumentException("Usage: Deployer ." ); + throw new IllegalArgumentException("Usage: Deployer ." ); } + String languageFileDirectoryName = args[1]; + File languageFileDirectory = null; + if ( languageFileDirectoryName != null && languageFileDirectoryName.trim().length() > 0) { + languageFileDirectory = new File(languageFileDirectoryName); + if ( ! languageFileDirectory.exists() || ! languageFileDirectory.isDirectory() + || ! languageFileDirectory.canRead() ) { + throw new IllegalArgumentException("Unable to access language files. Directory "+languageFileDirectory + +" is missing, is not a directory or is not readable."); + } + } + System.out.println("Starting Library Deploy"); try { DeployLibraryConfig config= new DeployLibraryConfig(args[0]); LibraryDBDeployTask deployTask = new LibraryDBDeployTask(config); - deployTask.execute(); + Map deployValues = deployTask.execute(); + System.out.println("Updated database"); + + if ( languageFileDirectory != null ) { + String[] files = languageFileDirectory.list(); + if ( files != null && files.length > 0 ) { + // generate package name in which the language files are placed. + Long learningLibraryId = (Long) deployValues.get(LibraryDBDeployTask.LEARNING_LIBRARY_ID); + String packagePath = "org.lamsfoundation.lams.library.llid"+learningLibraryId.toString(); + + // copy the files to the lams-dictionary.jar + DeployLanguageFilesTask deployLanguageFilesTask = new DeployLanguageFilesTask(); + deployLanguageFilesTask.setLamsEarPath(config.getLamsEarPath()); + deployLanguageFilesTask.setDictionaryPacket(packagePath); + List fileList = createLanguageFilesList(languageFileDirectoryName,files); + deployLanguageFilesTask.setDeployFiles(fileList); + deployLanguageFilesTask.execute(); + } + System.out.println("Copied language files"); + } + System.out.println("Library Deployed"); } @@ -67,4 +102,19 @@ } + /** + * Sets the list of file paths to operate on. + * @param deployFiles New value of property deployFiles. + */ + private static List createLanguageFilesList(String path, String[] deployFilesArray) + { + List deployFiles = new ArrayList(deployFilesArray!=null?deployFilesArray.length:0); + for ( String filename: deployFilesArray ) { + deployFiles.add(path+File.separator+filename); + } + return deployFiles; + } + + + } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibraryConfig.java =================================================================== diff -u -r21e57e9d24bd24305b98cb16dc363ab59b115a98 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibraryConfig.java (.../DeployLibraryConfig.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibraryConfig.java (.../DeployLibraryConfig.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,11 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 24/11/2005 - * - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; import java.io.IOException; @@ -122,6 +118,8 @@ this.setDbDriverClass(config.getDbDriverClass()); if (config.getLearningLibraryList() != null) this.setLearningLibraryList(config.getLearningLibraryList()); + if (config.getLamsEarPath() != null) + this.setLamsEarPath(config.getLamsEarPath()); } public void printObjectProperties() @@ -158,6 +156,7 @@ valid = valid && validateStringProperty(getDbDriverClass(), DB_PASSWORD); valid = valid && validateStringProperty(getDbDriverUrl(), DB_DRIVER_URL); valid = valid && validateListProperty(getLearningLibraryList(),LEARNING_LIBRARY_LIST); + valid = valid && validateStringProperty(getLamsEarPath(), LAMS_EAR_PATH); //iterate through learning libraries ArrayList learningLibraries = getLearningLibraryList(); Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/LearningLibrary.java =================================================================== diff -u -r7bcd6f90150d5c8f5eefaa00e989603de9f6ed19 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/LearningLibrary.java (.../LearningLibrary.java) (revision 7bcd6f90150d5c8f5eefaa00e989603de9f6ed19) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/LearningLibrary.java (.../LearningLibrary.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,11 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 17/11/2005 - * - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; import java.util.ArrayList; Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/LibraryDBDeployTask.java =================================================================== diff -u -r7bcd6f90150d5c8f5eefaa00e989603de9f6ed19 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/LibraryDBDeployTask.java (.../LibraryDBDeployTask.java) (revision 7bcd6f90150d5c8f5eefaa00e989603de9f6ed19) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/LibraryDBDeployTask.java (.../LibraryDBDeployTask.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,27 +18,22 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 17/11/2005 - * - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; +import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - +import org.apache.commons.logging.LogFactory; import org.lamsfoundation.lams.tool.deploy.DBTask; import org.lamsfoundation.lams.tool.deploy.DeployException; import org.lamsfoundation.lams.tool.deploy.FileTokenReplacer; @@ -54,9 +49,11 @@ public class LibraryDBDeployTask extends DBTask { private static Log log = LogFactory.getLog(LibraryDBDeployTask.class); - + private ArrayList learningLibraries; + public static final String LEARNING_LIBRARY_ID = "learningLibraryId"; + public LibraryDBDeployTask() {} @@ -77,10 +74,13 @@ * a) Find the tool_id that matches the tool_signature * b) Update tool activity script with tool_id and parent_activity_id equal to the activity_id from step 3 * c) run the tool activity script + * + * @return Map with one key "learningLibraryId" a with Long value */ - public void execute() throws DeployException + public Map execute() throws DeployException { + long learningLibraryId = -1; Connection conn = getConnection(); try { @@ -94,12 +94,12 @@ String libraryInsertScriptPath = learningLibrary.getLibraryInsertScriptPath(); File libraryInsertScript = new File(libraryInsertScriptPath); - long learningLibraryId = runLibraryScript(readFile(libraryInsertScript), conn, "lams_learning_library"); + learningLibraryId = runLibraryScript(readFile(libraryInsertScript), conn, "lams_learning_library"); log.debug("The learning_library_id is learningLibraryId"); //put the library id into the library activity insert script - Map replacementMap = new HashMap(1); + Map replacementMap = new HashMap(1); replacementMap.put("learning_library_id", Long.toString(learningLibraryId)); FileTokenReplacer activityScriptReplacer = new FileTokenReplacer(new File(learningLibrary.getTemplateActivityInsertScriptPath()), replacementMap); String libraryActivityScriptSQL = activityScriptReplacer.replace(); @@ -120,7 +120,7 @@ long toolId = getToolId(toolActivity.getToolSignature(), conn); //put the tool_id and parent_activity_id into the tool activity insert script - replacementMap = new HashMap(1); + replacementMap = new HashMap(1); replacementMap.put("tool_id", Long.toString(toolId)); replacementMap.put("parent_activity_id", Long.toString(parentActivityId)); FileTokenReplacer toolTablesScriptReplacer = new FileTokenReplacer(new File(toolActivity.getToolActivityInsertScriptPath()), replacementMap); @@ -162,6 +162,11 @@ { DbUtils.closeQuietly(conn); } + + Map map = new HashMap(); + map.put(LEARNING_LIBRARY_ID, new Long(learningLibraryId)); + return map; + } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/ToolActivity.java =================================================================== diff -u -r7bcd6f90150d5c8f5eefaa00e989603de9f6ed19 -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/ToolActivity.java (.../ToolActivity.java) (revision 7bcd6f90150d5c8f5eefaa00e989603de9f6ed19) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/ToolActivity.java (.../ToolActivity.java) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -18,10 +18,7 @@ http://www.gnu.org/licenses/gpl.txt */ - -/* - * Created on 17/11/2005 - */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; /** Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/templateDeploy.properties =================================================================== diff -u -r60f8ad90ac03834ede1c4a45585f7f117d5844de -rc96a2e5fb4ffc597565170852f722298900fafdb --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/templateDeploy.properties (.../templateDeploy.properties) (revision 60f8ad90ac03834ede1c4a45585f7f117d5844de) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/templateDeploy.properties (.../templateDeploy.properties) (revision c96a2e5fb4ffc597565170852f722298900fafdb) @@ -1,3 +1,4 @@ +# CVS ID: $Id$ # Properties for the Deploy App #Password for Install DB