Index: lams_build/deploy-tool/lib/lams-tool-deploy.jar =================================================================== diff -u -rf697f404cc7d769569ca0a457f4e2ed28f47830e -r21e57e9d24bd24305b98cb16dc363ab59b115a98 Binary files differ Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/AddWebAppToApplicationXmlTask.java =================================================================== diff -u -r60f8ad90ac03834ede1c4a45585f7f117d5844de -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/AddWebAppToApplicationXmlTask.java (.../AddWebAppToApplicationXmlTask.java) (revision 60f8ad90ac03834ede1c4a45585f7f117d5844de) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/AddWebAppToApplicationXmlTask.java (.../AddWebAppToApplicationXmlTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -23,7 +23,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.NodeList; /** * Task to add a web application entry to an EAR application XML Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreatePackageTask.java =================================================================== diff -u -r0703d2e19ba200ce75a7a3c38ba4318158bf8e27 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreatePackageTask.java (.../CreatePackageTask.java) (revision 0703d2e19ba200ce75a7a3c38ba4318158bf8e27) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreatePackageTask.java (.../CreatePackageTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -26,19 +26,18 @@ import java.io.BufferedWriter; import java.io.File; -import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; -import java.net.URL; +import java.util.ArrayList; import java.util.Iterator; import java.util.Properties; +import java.util.Vector; -import javax.xml.parsers.ParserConfigurationException; - import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.DynamicConfigurator; import org.apache.tools.ant.Task; -import org.xml.sax.SAXException; +import org.apache.tools.ant.types.FileSet; /** * @author mtruong, Original design by Fiona Malikoff * @@ -102,10 +101,24 @@ while ( iter.hasNext() ) { String key = (String) iter.next(); // any keys not known to the deployConfig are ignored, so it doesn't matter if we pass mode, etc. - deployConfig.setProperty(key, inputProperties.getProperty(key)); + // The only vectors will be filesets. + deployConfig.setProperty(key, (String) inputProperties.getProperty(key)); } } + protected void applyFilesets(String key, Vector filesets) { + ArrayList filenames = new ArrayList(); + for ( FileSet fileset : filesets) { + DirectoryScanner ds = fileset.getDirectoryScanner(getProject()); + String[] files = ds.getIncludedFiles(); + for ( String filename: files ) { + filenames.add(ds.getBasedir()+File.separator+filename); + } + } + + deployConfig.setFilenames(key, filenames); + } + protected void createDirectory(File dir) { if ( dir.exists() ) { if ( ! dir.isDirectory() ) { Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreateToolPackageTask.java =================================================================== diff -u -r1a103c9d5d74e8f6191b66b8cea89afb49c0a977 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreateToolPackageTask.java (.../CreateToolPackageTask.java) (revision 1a103c9d5d74e8f6191b66b8cea89afb49c0a977) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/CreateToolPackageTask.java (.../CreateToolPackageTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -25,9 +25,11 @@ package org.lamsfoundation.lams.tool.deploy; import java.io.IOException; +import java.util.Vector; import javax.xml.parsers.ParserConfigurationException; +import org.apache.tools.ant.types.FileSet; import org.xml.sax.SAXException; /** @@ -65,12 +67,18 @@ * scripts to be copied from the scriptPath directory to deploy/sql. * Generates the toolInsertScriptPath, toolLibraryInsertScriptPath, * toolActivityInsertScriptPath and toolTablesScriptPath entries. + *
  • (Optional) languageFileScriptPath: define the directory + * containing any tool language files. On deployment, files will + * be copied to the lams-dictionary jar directory. + * Generates the languageFiles entries.
  • *
  • (Optional) all other parameters go into the deploy.properties file.
  • * * */ public class CreateToolPackageTask extends CreatePackageTask { - + + private Vector filesets = new Vector(); + public void execute() { log("Create Deployment Package."); @@ -99,16 +107,26 @@ } } + // convert the language filesets to Strings, ready for the properties o applyParameters(); + applyFilesets(DeployToolConfig.LANGUAGE_FILES, filesets); deployConfig.validateProperties(); try { - writeConfigFile(); //change this to write out xml file instead + writeConfigFile(); } catch(IOException e) { throw new DeployException(e.getMessage()); } } + + public void addLanguageFiles(Object input) { + System.out.println("input to addLanguageFiles is "+input); + } + public void addFileset(FileSet fileset) { + filesets.add(fileset); + } + } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DBTask.java =================================================================== diff -u -rabb3194da8bc2d0b6a661e486fd007aa03412ffc -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DBTask.java (.../DBTask.java) (revision abb3194da8bc2d0b6a661e486fd007aa03412ffc) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DBTask.java (.../DBTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -21,12 +21,11 @@ package org.lamsfoundation.lams.tool.deploy; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.Driver; -import java.sql.SQLException; import java.io.File; import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; + import org.apache.commons.io.FileUtils; /** Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Deploy.java =================================================================== diff -u -r7f0227bdb2c60f87b6c5af58296f40c4b7f7e931 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Deploy.java (.../Deploy.java) (revision 7f0227bdb2c60f87b6c5af58296f40c4b7f7e931) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/Deploy.java (.../Deploy.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -21,7 +21,11 @@ package org.lamsfoundation.lams.tool.deploy; +import java.util.List; + + + /** * Tool Deployer Main Class * @@ -103,6 +107,15 @@ deployFilesTask.setDeployFiles(config.getDeployFiles()); deployFilesTask.execute(); + List files = config.getLanguageFiles(); + if ( files != null && files.size() > 0 ) { + DeployLanguageFilesTask deployLanguageFilesTask = new DeployLanguageFilesTask(); + deployLanguageFilesTask.setLamsEarPath(config.getLamsEarPath()); + deployLanguageFilesTask.setDictionaryPacket(config.getToolSignature()); + deployLanguageFilesTask.setDeployFiles(config.getLanguageFiles()); + deployLanguageFilesTask.execute(); + } + System.out.println("Activating Tool in LAMS"); ToolDBActivateTask dbActivateTask = new ToolDBActivateTask(); dbActivateTask.setDbUsername(config.getDbUsername()); Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployConfig.java =================================================================== diff -u -rf558d23e35d9602a349c466ad60c4f92dd3c45be -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployConfig.java (.../DeployConfig.java) (revision f558d23e35d9602a349c466ad60c4f92dd3c45be) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployConfig.java (.../DeployConfig.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -25,18 +25,14 @@ package org.lamsfoundation.lams.tool.deploy; import java.io.BufferedReader; -import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.Writer; +import java.util.ArrayList; import java.util.List; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.w3c.dom.Document; -import org.w3c.dom.Element; import org.xml.sax.SAXException; import com.thoughtworks.xstream.XStream; @@ -222,6 +218,16 @@ } /** + * Pass through some filename lists to be assigned to a parameter + */ + protected void setFilenames(String key, ArrayList filenames) throws DeployException { + if ( key == null ) + throw new DeployException("Invalid parameter: Key is null. "); + + // no filelists are known to the basic configuration. + } + + /** * Serialize an object to the given Writer as pretty-printed XML. * @param writer */ Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployFilesTask.java =================================================================== diff -u -rabb3194da8bc2d0b6a661e486fd007aa03412ffc -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployFilesTask.java (.../DeployFilesTask.java) (revision abb3194da8bc2d0b6a661e486fd007aa03412ffc) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployFilesTask.java (.../DeployFilesTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -20,10 +20,7 @@ */ package org.lamsfoundation.lams.tool.deploy; -import java.util.List; import java.io.File; -import java.io.IOException; -import org.apache.commons.io.FileUtils; /** * Deploys required files to the lams ear. @@ -39,40 +36,12 @@ */ public void execute() throws DeployException { - File lamsEar = new File(lamsEarPath); - if (!lamsEar.exists()) - { - throw new DeployException("Could not find "+lamsEarPath); - } - else if (!lamsEar.isDirectory()) - { - throw new DeployException(lamsEarPath+" is not a directory"); - } - else if (!lamsEar.canWrite()) - { - throw new DeployException(lamsEarPath+" is not writable"); - } - + File lamsEar = getLamsEar(); for (int i = 0, size = deployFiles.size(); i < size; i++) { - copyFile((String) deployFiles.get(i), lamsEar); + copyFile(deployFiles.get(i), lamsEar); } } - /** - * - */ - protected void copyFile(String fileName, File directory) throws DeployException - { - try - { - File original = new File(fileName); - FileUtils.copyFileToDirectory(original, directory); - } - catch (IOException ioex) - { - throw new DeployException("Could not copy file "+fileName+" to "+lamsEarPath, ioex); - } - - } + } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployLanguageFilesTask.java =================================================================== diff -u --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployLanguageFilesTask.java (revision 0) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployLanguageFilesTask.java (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -0,0 +1,91 @@ +/* + *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 + */ + +package org.lamsfoundation.lams.tool.deploy; +import java.io.File; + +/** + * Deploys required language files to the lams ear. Copies all the language files + * in a particular directory to a given package name. + * @author chris + */ +public class DeployLanguageFilesTask extends FilesTask +{ + + private static final String LANGUAGE_JAR_DIRECTORY = "lams-dictionary.jar"; + + /** + * Holds value of dictionary package i.e. the tool signature or a unique id for a complex activity. + */ + protected String dictionaryPacket; + + /** + *Executes the task + */ + public void execute() throws DeployException + { + // check the lams ear is okay by getting the file object - this will check + // for any problems with the lams ear. + getLamsEar(); + + // 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(); + for (String languageFilename : deployFiles) + { + System.out.println("Copying file "+languageFilename); + copyFile(languageFilename, dictionaryDir); + } + } + + /** 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 + * has already been checked to be directory, writable, etc. If it doesn't exist, it creates + * the directory (as long as the lams ear exists). */ + private File getLamsDictionary() throws DeployException { + + String packageName = lamsEarPath+File.separator+LANGUAGE_JAR_DIRECTORY+File.separator+dictionaryPacket; + File dictionaryDir = new File(packageName); + if (!dictionaryDir.exists()) + { + dictionaryDir.mkdirs(); + } + else if (!dictionaryDir.isDirectory()) + { + throw new DeployException("Dictionary package "+packageName+" exists but it is not a directory"); + } + else if (!dictionaryDir.canWrite()) + { + throw new DeployException("Dictionary package "+packageName+" exists but it is not writable"); + } + return dictionaryDir; + } + + /** Name of the dictionary package i.e. the tool signature or a unique id for a complex activity. */ + public String getDictionaryPacket() { + return dictionaryPacket; + } + + public void setDictionaryPacket(String dictionaryPacket) { + this.dictionaryPacket = dictionaryPacket; + } + +} Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployToolConfig.java =================================================================== diff -u -r07cce200b365d718b9df66b610f52922796f5a17 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployToolConfig.java (.../DeployToolConfig.java) (revision 07cce200b365d718b9df66b610f52922796f5a17) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/DeployToolConfig.java (.../DeployToolConfig.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -25,27 +25,13 @@ */ package org.lamsfoundation.lams.tool.deploy; -import java.io.BufferedReader; -import java.io.FileReader; import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; import java.util.ArrayList; -import java.util.List; import javax.xml.parsers.ParserConfigurationException; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; import org.xml.sax.SAXException; -import com.thoughtworks.xstream.*; -import com.thoughtworks.xstream.io.xml.DomDriver; - /** * @author mtruong * @@ -61,7 +47,7 @@ */ public class DeployToolConfig extends DeployConfig { - private static Log log = LogFactory.getLog(DeployToolConfig.class); + // private static Log log = LogFactory.getLog(DeployToolConfig.class); private static final String TOOL_WEB_URI = "toolWebUri"; private static final String TOOL_CONTEXT = "toolContext"; @@ -71,7 +57,7 @@ private static final String TOOL_TABLES_SCRIPT_PATH = "toolTablesScriptPath"; private static final String TOOL_TABLES_DELETE_SCRIPT_PATH = "toolTablesDeleteScriptPath"; private static final String DEPLOY_FILES= "deployFiles"; - private static final String FILE = "file"; + public static final String LANGUAGE_FILES= "languageFiles"; /** * Holds value of property toolSignature. @@ -121,9 +107,14 @@ /** * Holds value of property deployFiles. */ - private ArrayList deployFiles; + private ArrayList deployFiles; /** + * Holds value of property languageFiles. + */ + private ArrayList languageFiles; + + /** * Creates an instance of DeployToolConfig object. */ public DeployToolConfig() @@ -212,16 +203,30 @@ } /** + * Pass through some filename lists to be assigned to a parameter + */ + protected void setFilenames(String key, ArrayList filenames) throws DeployException { + if ( key == null ) + throw new DeployException("Invalid parameter: Key is null. "); + + super.setFilenames(key, filenames); + + if ( key.equalsIgnoreCase(LANGUAGE_FILES) ) { + languageFiles = filenames; + } + } + + /** * Converts a String to a List. Entries should be comma separated. * @param Input string containing entries. * @return List of (String) properties, null if not found. */ - protected ArrayList convertList(String input) throws DeployException + protected ArrayList convertList(String input) throws DeployException { String[] strings = input.split(","); - ArrayList list = new ArrayList(strings.length); - for ( int i=0; i list = new ArrayList(strings.length); + for ( String value : strings) { + list.add(value); } return list; } @@ -243,6 +248,7 @@ valid = valid && validateStringProperty(getDbDriverClass(), DB_PASSWORD); valid = valid && validateStringProperty(getDbDriverUrl(), DB_DRIVER_URL); valid = valid && validateListProperty(deployFiles,DEPLOY_FILES); + valid = valid && validateListProperty(deployFiles,LANGUAGE_FILES); if (!valid ) throw new DeployException("Invalid deployment properties: "+validationError); @@ -285,6 +291,8 @@ this.toolTablesDeleteScriptPath = config.getToolTablesDeleteScriptPath(); if (config.getDeployFiles() != null) this.deployFiles = config.getDeployFiles(); + if (config.getLanguageFiles() != null) + this.languageFiles = config.getLanguageFiles(); } /** Used for testing purposes only */ @@ -309,6 +317,11 @@ { System.out.println("DeployFiles: " + list.get(i)); } + list = this.languageFiles; + for(int i=0; i getDeployFiles() { return deployFiles; } /** * @param deployFiles The deployFiles to set. */ - public void setDeployFiles(ArrayList deployFiles) { + public void setDeployFiles(ArrayList deployFiles) { this.deployFiles = deployFiles; } /** @@ -440,4 +453,12 @@ public void setToolWebUri(String toolWebUri) { this.toolWebUri = toolWebUri; } + + public ArrayList getLanguageFiles() { + return languageFiles; + } + + public void setLanguageFiles(ArrayList languageFiles) { + this.languageFiles = languageFiles; + } } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FileTokenReplacer.java =================================================================== diff -u -rb9682e51114d632fd77ff0feabf3f2de634744bd -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FileTokenReplacer.java (.../FileTokenReplacer.java) (revision b9682e51114d632fd77ff0feabf3f2de634744bd) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FileTokenReplacer.java (.../FileTokenReplacer.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -23,12 +23,12 @@ import java.io.File; import java.io.IOException; -import java.util.regex.Pattern; -import java.util.regex.Matcher; -import java.util.regex.PatternSyntaxException; +import java.util.Iterator; import java.util.Map; import java.util.Set; -import java.util.Iterator; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; + import org.apache.commons.io.FileUtils; /** * Parsers a file and does token replacement Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FilesTask.java =================================================================== diff -u -rabb3194da8bc2d0b6a661e486fd007aa03412ffc -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FilesTask.java (.../FilesTask.java) (revision abb3194da8bc2d0b6a661e486fd007aa03412ffc) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/FilesTask.java (.../FilesTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -20,9 +20,10 @@ */ package org.lamsfoundation.lams.tool.deploy; -import java.util.List; import java.io.File; import java.io.IOException; +import java.util.List; + import org.apache.commons.io.FileUtils; /** @@ -40,7 +41,7 @@ /** * Holds value of property deployFiles. */ - protected List deployFiles; + protected List deployFiles; /** Creates a new instance of DeployWarTask */ public FilesTask() @@ -61,11 +62,46 @@ * Sets the list of file paths to operate on. * @param deployFiles New value of property deployFiles. */ - public void setDeployFiles(List deployFiles) + public void setDeployFiles(List deployFiles) { this.deployFiles = deployFiles; } - - + + /** + * Copy a file to a given directory + */ + protected void copyFile(String fileName, File directory) throws DeployException + { + try + { + File original = new File(fileName); + FileUtils.copyFileToDirectory(original, directory); + } + catch (IOException ioex) + { + throw new DeployException("Could not copy file "+fileName+" to "+directory.getAbsolutePath(), ioex); + } + + } + + /** Gets the LAMS ear directory and checks that it exists, is a directory and is writable. */ + protected File getLamsEar() throws DeployException { + + File lamsEar = new File(lamsEarPath); + if (!lamsEar.exists()) + { + throw new DeployException("Could not find "+lamsEarPath); + } + else if (!lamsEar.isDirectory()) + { + throw new DeployException(lamsEarPath+" is not a directory"); + } + else if (!lamsEar.canWrite()) + { + throw new DeployException(lamsEarPath+" is not writable"); + } + return lamsEar; + } + } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ScriptRunner.java =================================================================== diff -u -rda85d240e28623bc3db1763c40caa72729863285 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ScriptRunner.java (.../ScriptRunner.java) (revision da85d240e28623bc3db1763c40caa72729863285) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ScriptRunner.java (.../ScriptRunner.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -22,11 +22,10 @@ package org.lamsfoundation.lams.tool.deploy; -import java.sql.SQLException; import java.sql.Connection; +import java.sql.SQLException; import java.sql.Statement; -import java.util.List; -import java.util.ArrayList; + import org.apache.commons.dbutils.DbUtils; /** * Used to Run a SQL script. @@ -91,12 +90,12 @@ * Executes an array of statements againt a connection. * Note that it will *WILL NOT* close the connection, commit or roll back. */ - protected void executeStatements(String[] statements, Connection conn) throws DeployException + protected void executeStatements(String[] statements, Connection newConn) throws DeployException { Statement stmt = null; try { - stmt = conn.createStatement(); + stmt = newConn.createStatement(); for (int i = 0, length = statements.length; i < length; i++) { stmt.addBatch(statements[i]); Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBActivateTask.java =================================================================== diff -u -rabb3194da8bc2d0b6a661e486fd007aa03412ffc -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBActivateTask.java (.../ToolDBActivateTask.java) (revision abb3194da8bc2d0b6a661e486fd007aa03412ffc) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBActivateTask.java (.../ToolDBActivateTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -22,8 +22,9 @@ package org.lamsfoundation.lams.tool.deploy; import java.sql.Connection; -import java.sql.SQLException; import java.sql.PreparedStatement; +import java.sql.SQLException; + import org.apache.commons.dbutils.DbUtils; /** @@ -34,7 +35,7 @@ */ public class ToolDBActivateTask extends DBTask { - private long defaultContentId; + //private long defaultContentId; private long toolId; @@ -109,13 +110,13 @@ this.learningLibraryId = learningLibraryId; } - private void activateTool(long toolId, Connection conn) throws SQLException + private void activateTool(long newToolId, Connection conn) throws SQLException { PreparedStatement stmt = null; try { stmt = conn.prepareStatement("UPDATE lams_tool SET valid_flag = 1 WHERE tool_id = ?"); - stmt.setLong(1, toolId); + stmt.setLong(1, newToolId); stmt.execute(); } finally Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBDeployTask.java =================================================================== diff -u -rb9682e51114d632fd77ff0feabf3f2de634744bd -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBDeployTask.java (.../ToolDBDeployTask.java) (revision b9682e51114d632fd77ff0feabf3f2de634744bd) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBDeployTask.java (.../ToolDBDeployTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -21,13 +21,14 @@ package org.lamsfoundation.lams.tool.deploy; -import java.util.Map; -import java.util.HashMap; import java.io.File; import java.sql.Connection; -import java.sql.SQLException; -import java.sql.ResultSet; 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; /** @@ -229,14 +230,14 @@ this.toolActivityInsertScriptPath = toolActivityInsertScriptPath; } - private long getNewToolContentId(long toolId, Connection conn) throws DeployException + private long getNewToolContentId(long newToolId, Connection conn) throws DeployException { PreparedStatement stmt = null; ResultSet results = null; try { stmt = conn.prepareStatement("INSERT INTO lams_tool_content (tool_id) VALUES (?)"); - stmt.setLong(1, toolId); + stmt.setLong(1, newToolId); stmt.execute(); stmt = conn.prepareStatement("SELECT LAST_INSERT_ID() FROM lams_tool_content"); results = stmt.executeQuery(); @@ -282,14 +283,14 @@ } } - private void updateToolLibraryId(long toolId, long libraryId, Connection conn) throws DeployException + private void updateToolLibraryId(long newToolId, long libraryId, Connection conn) throws DeployException { PreparedStatement stmt = null; try { stmt = conn.prepareStatement("UPDATE lams_tool SET learning_library_id = ? WHERE tool_id = ?"); stmt.setLong(1, libraryId); - stmt.setLong(2, toolId); + stmt.setLong(2, newToolId); stmt.execute(); } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBRemoveToolEntriesTask.java =================================================================== diff -u -r36af70a291e83151c95c28003ae26cd8da398171 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBRemoveToolEntriesTask.java (.../ToolDBRemoveToolEntriesTask.java) (revision 36af70a291e83151c95c28003ae26cd8da398171) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/ToolDBRemoveToolEntriesTask.java (.../ToolDBRemoveToolEntriesTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -50,11 +50,6 @@ */ private String toolSignature; - /** - * Holds value of property learningLibraryId. - */ - private long learningLibraryId; - /** Creates a new instance of ToolDBActivateTask */ public ToolDBRemoveToolEntriesTask() { @@ -83,7 +78,7 @@ public void execute() throws DeployException { long toolId = 0; - long learningLibraryId = 0; + long libId = 0; toolTablesDeleteScript = new File(toolTablesDeleteScriptPath); @@ -94,10 +89,10 @@ conn.setAutoCommit(false); toolId = getToolId(conn); if ( toolId != 0 ) { - learningLibraryId = getLearningLibraryId(toolId, conn); + libId = getLearningLibraryId(toolId, conn); - System.out.println("Deleting rows where toolId = "+toolId+" and learningLibraryId = "+learningLibraryId); - cleanupToolTables(toolId, learningLibraryId, conn); + System.out.println("Deleting rows where toolId = "+toolId+" and learningLibraryId = "+libId); + cleanupToolTables(toolId, libId, conn); //run the tool table delete script if ( toolTablesDeleteScriptPath == null || toolTablesDeleteScriptPath.length() == 0 ) { @@ -141,7 +136,7 @@ } } - private void cleanupToolTables(long toolId, long learningLibraryId, Connection conn) throws DeployException + private void cleanupToolTables(long toolId, long libraryId, Connection conn) throws DeployException { PreparedStatement stmt = null; try @@ -159,7 +154,7 @@ stmt.execute(); stmt = conn.prepareStatement("DELETE FROM lams_learning_library WHERE learning_library_id = ?"); - stmt.setLong(1, learningLibraryId); + stmt.setLong(1, libraryId); stmt.execute(); } Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/UpdateApplicationXmlTask.java =================================================================== diff -u -rda85d240e28623bc3db1763c40caa72729863285 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/UpdateApplicationXmlTask.java (.../UpdateApplicationXmlTask.java) (revision da85d240e28623bc3db1763c40caa72729863285) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/UpdateApplicationXmlTask.java (.../UpdateApplicationXmlTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -22,22 +22,23 @@ package org.lamsfoundation.lams.tool.deploy; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerException; -import javax.xml.parsers.DocumentBuilderFactory; +import java.io.IOException; + import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.xml.sax.SAXException; -import org.w3c.dom.Node; -import org.w3c.dom.Text; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Document; import org.w3c.dom.Element; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.w3c.dom.Document; -import java.io.File; -import java.io.IOException; +import org.w3c.dom.Text; +import org.xml.sax.SAXException; /** * Base class of ant tasks that change the application xml Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/CreateLibraryPackageTask.java =================================================================== diff -u -r7bcd6f90150d5c8f5eefaa00e989603de9f6ed19 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/CreateLibraryPackageTask.java (.../CreateLibraryPackageTask.java) (revision 7bcd6f90150d5c8f5eefaa00e989603de9f6ed19) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/CreateLibraryPackageTask.java (.../CreateLibraryPackageTask.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -25,22 +25,12 @@ package org.lamsfoundation.lams.tool.deploy.libraryActivity; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; import java.io.IOException; -import java.net.URL; -import java.util.Iterator; -import java.util.Properties; import javax.xml.parsers.ParserConfigurationException; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.DynamicConfigurator; -import org.apache.tools.ant.Task; import org.lamsfoundation.lams.tool.deploy.CreatePackageTask; import org.lamsfoundation.lams.tool.deploy.DeployException; -import org.lamsfoundation.lams.tool.deploy.DeployToolConfig; import org.xml.sax.SAXException; /** Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibrary.java =================================================================== diff -u -r7bcd6f90150d5c8f5eefaa00e989603de9f6ed19 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibrary.java (.../DeployLibrary.java) (revision 7bcd6f90150d5c8f5eefaa00e989603de9f6ed19) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibrary.java (.../DeployLibrary.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -24,11 +24,6 @@ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; -import java.io.IOException; - -import javax.xml.parsers.ParserConfigurationException; - -import org.xml.sax.SAXException; /** * @author mtruong * Index: lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibraryConfig.java =================================================================== diff -u -r7bcd6f90150d5c8f5eefaa00e989603de9f6ed19 -r21e57e9d24bd24305b98cb16dc363ab59b115a98 --- lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibraryConfig.java (.../DeployLibraryConfig.java) (revision 7bcd6f90150d5c8f5eefaa00e989603de9f6ed19) +++ lams_tool_deploy/src/java/org/lamsfoundation/lams/tool/deploy/libraryActivity/DeployLibraryConfig.java (.../DeployLibraryConfig.java) (revision 21e57e9d24bd24305b98cb16dc363ab59b115a98) @@ -25,24 +25,14 @@ */ package org.lamsfoundation.lams.tool.deploy.libraryActivity; -import java.io.File; import java.io.IOException; -import java.io.Writer; import java.util.ArrayList; import java.util.Iterator; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.lamsfoundation.lams.tool.deploy.DeployConfig; import org.lamsfoundation.lams.tool.deploy.DeployException; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; import org.xml.sax.SAXException; @@ -53,7 +43,7 @@ */ public class DeployLibraryConfig extends DeployConfig { - private static Log log = LogFactory.getLog(DeployLibraryConfig.class); + // private static Log log = LogFactory.getLog(DeployLibraryConfig.class); private static final String LEARNING_LIBRARY = "learningLibrary"; private static final String LIBRARY_INSERT_SCRIPT = "libraryInsertScriptPath";