summaryrefslogtreecommitdiff
path: root/src/main/org/apache/tools/ant/taskdefs/optional/ejb
diff options
context:
space:
mode:
authorStefan Bodewig <bodewig@apache.org>2002-01-10 13:59:39 +0000
committerStefan Bodewig <bodewig@apache.org>2002-01-10 13:59:39 +0000
commitf3577cdb5ce536ebcae232a268d7e01f1897e4e9 (patch)
tree9dc942757aa5d420067a64e44c7808416fd8aa86 /src/main/org/apache/tools/ant/taskdefs/optional/ejb
parent3fddc0bcfddb3f6226843481094795c89862bf5f (diff)
downloadant-f3577cdb5ce536ebcae232a268d7e01f1897e4e9.tar.gz
License police on task definitions:
(1) Make sure there is a Copyright notice on all files. (2) Make sure all years in which a file has been modified are listed. (3) Make sure the format is consistent, i.e. separate consecutive years with a dash, not a comma. (4) Change some references from Tomcat to Ant. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270658 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/main/org/apache/tools/ant/taskdefs/optional/ejb')
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreatorHelper.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/EJBDeploymentTool.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbcTask.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/JbossDeploymentTool.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLStop.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java2
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java858
16 files changed, 16 insertions, 872 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java
index 91fd9898f..208a80eff 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreator.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * Copyright (c) 2000 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreatorHelper.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreatorHelper.java
index a1cc12310..63839e4aa 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreatorHelper.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DDCreatorHelper.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
index 7305b180a..818ab0a59 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EJBDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EJBDeploymentTool.java
index cbe774f80..3e9569f42 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EJBDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EJBDeploymentTool.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java
index 8a684cffe..1a1a5b957 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbJar.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000, 2001 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java
index a2a65d312..73f01f810 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/EjbcHelper.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java
index 07f8b572c..5d6d31ddd 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java
index c0be24895..984a240af 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java
index aad262beb..9d0ae5e26 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2001-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbcTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbcTask.java
index 33180a7e6..380be0f53 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbcTask.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbcTask.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JbossDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JbossDeploymentTool.java
index eb95ef49f..5dc8a046e 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JbossDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/JbossDeploymentTool.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java
index 4075639a1..0fbce81a4 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000, 2001 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLStop.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLStop.java
index 3a2cab518..ba1e4b946 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLStop.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLStop.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java
index b9b1fa8e0..f584c19e2 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java
index 70a6f9402..a1c2fa075 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicTOPLinkDeploymentTool.java
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java
index c3926eaf0..0b5c39837 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java
@@ -1,1713 +1,857 @@
/*
-
* The Apache Software License, Version 1.1
-
*
-
- * Copyright (c) 2000 The Apache Software Foundation. All rights
-
+ * Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
-
*
-
* Redistribution and use in source and binary forms, with or without
-
* modification, are permitted provided that the following conditions
-
* are met:
-
*
-
* 1. Redistributions of source code must retain the above copyright
-
* notice, this list of conditions and the following disclaimer.
-
*
-
* 2. Redistributions in binary form must reproduce the above copyright
-
* notice, this list of conditions and the following disclaimer in
-
* the documentation and/or other materials provided with the
-
* distribution.
-
*
-
* 3. The end-user documentation included with the redistribution, if
-
* any, must include the following acknowasegement:
-
* "This product includes software developed by the
-
* Apache Software Foundation (http://www.apache.org/)."
-
* Alternately, this acknowasegement may appear in the software itself,
-
* if and wherever such third-party acknowasegements normally appear.
-
*
-
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
-
* Foundation" must not be used to endorse or promote products derived
-
* from this software without prior written permission. For written
-
* permission, please contact apache@apache.org.
-
*
-
* 5. Products derived from this software may not be called "Apache"
-
* nor may "Apache" appear in their names without prior written
-
* permission of the Apache Group.
-
*
-
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-
* SUCH DAMAGE.
-
* ====================================================================
-
*
-
* This software consists of voluntary contributions made by many
-
* individuals on behalf of the Apache Software Foundation. For more
-
* information on the Apache Software Foundation, please see
-
* <http://www.apache.org/>.
-
*/
-
-
package org.apache.tools.ant.taskdefs.optional.ejb;
-
-
import java.io.*;
-
import java.util.jar.*;
-
import java.util.*;
-
import java.net.*;
-
-
import javax.xml.parsers.*;
-
import org.xml.sax.*;
-
-
import org.apache.tools.ant.*;
-
import org.apache.tools.ant.taskdefs.*;
-
import org.apache.tools.ant.types.*;
-
import org.apache.tools.ant.taskdefs.ExecTask;
-
/**
-
* Websphere deployment tool that augments the ejbjar task.
-
* @author <mailto:msahu@interkeel.com>Maneesh Sahu</mailto>
-
*/
-
public class WebsphereDeploymentTool extends GenericDeploymentTool {
-
/**
-
* Enumerated attribute with the values for the database vendor types
-
*/
-
public static class DBVendor extends EnumeratedAttribute {
-
public String[] getValues() {
-
return new String[] {
-
"SQL92", "SQL99", "DB2UDBWIN_V71", "DB2UDBOS390_V6", "DB2UDBAS400_V4R5",
-
"ORACLE_V8", "INFORMIX_V92", "SYBASE_V1192", "MSSQLSERVER_V7", "MYSQL_V323"
-
};
-
}
-
}
-
-
public static final String PUBLICID_EJB11
-
= "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN";
-
public static final String PUBLICID_EJB20
-
= "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN";
-
protected static final String SCHEMA_DIR = "Schema/";
-
-
protected static final String WAS_EXT = "ibm-ejb-jar-ext.xmi";
-
protected static final String WAS_BND = "ibm-ejb-jar-bnd.xmi";
-
protected static final String WAS_CMP_MAP = "Map.mapxmi";
-
protected static final String WAS_CMP_SCHEMA = "Schema.dbxmi";
-
-
/** Instance variable that stores the suffix for the websphere jarfile. */
-
private String jarSuffix = ".jar";
-
-
/** Instance variable that stores the location of the ejb 1.1 DTD file. */
-
private String ejb11DTD;
-
-
/** Instance variable that determines whether generic ejb jars are kept. */
-
-
private boolean keepgenerated = false;
-
-
private String additionalArgs = "";
-
-
private boolean keepGeneric = false;
-
-
private String compiler = null;
-
-
private boolean alwaysRebuild = true;
-
-
private boolean ejbdeploy = true;
-
-
/**
-
* Indicates if the old CMP location convention is to be used.
-
*/
-
private boolean newCMP = false;
-
-
/** The classpath to the websphere classes. */
-
private Path wasClasspath = null;
-
-
/** The DB Vendor name, the EJB is persisted against */
-
private String dbVendor;
-
-
/** The name of the database to create. (For top-down mapping only) */
-
private String dbName;
-
-
/** The name of the schema to create. (For top-down mappings only) */
-
private String dbSchema;
-
-
/** true - Only generate the deployment code, do not run RMIC or Javac */
-
private boolean codegen;
-
-
/** true - Only output error messages, suppress informational messages */
-
private boolean quiet = true;
-
-
/** true - Disable the validation steps */
-
private boolean novalidate;
-
-
/** true - Disable warning and informational messages */
-
private boolean nowarn;
-
-
/** true - Disable informational messages */
-
private boolean noinform;
-
-
/** true - Enable internal tracing */
-
private boolean trace;
-
-
/** Additional options for RMIC */
-
private String rmicOptions;
-
-
/** true- Use the WebSphere 3.5 compatible mapping rules */
-
private boolean use35MappingRules;
-
-
/** the scratchdir for the ejbdeploy operation */
-
private String tempdir = "_ejbdeploy_temp";
-
-
/**
-
* Get the classpath to the websphere classpaths
-
*/
-
public Path createWASClasspath() {
-
if (wasClasspath == null) {
-
wasClasspath = new Path(getTask().getProject());
-
}
-
return wasClasspath.createPath();
-
}
-
-
public void setWASClasspath(Path wasClasspath) {
-
this.wasClasspath = wasClasspath;
-
}
-
-
/**
-
* Sets the DB Vendor for the Entity Bean mapping
-
*/
-
public void setDbvendor(DBVendor dbvendor) {
-
this.dbVendor = dbvendor.getValue();
-
}
-
-
/**
-
* Sets the name of the Database to create
-
* @param String
-
*/
-
public void setDbname(String dbName) {
-
this.dbName = dbName;
-
}
-
-
/**
-
* Sets the name of the schema to create
-
* @param String
-
*/
-
public void setDbschema(String dbSchema) {
-
this.dbSchema = dbSchema;
-
}
-
-
/**
-
* (true) Only generate the deployment code, do not run RMIC or Javac
-
* @param boolean
-
*/
-
public void setCodegen(boolean codegen) {
-
this.codegen = codegen;
-
}
-
-
/**
-
* (true) Only output error messages, suppress informational messages
-
* @param boolean
-
*/
-
public void setQuiet(boolean quiet) {
-
this.quiet = quiet;
-
}
-
-
/**
-
* (true) Disable the validation steps
-
* @param boolean
-
*/
-
public void setNovalidate(boolean novalidate) {
-
this.novalidate = novalidate;
-
}
-
-
/**
-
* (true) Disable warning and informational messages
-
* @param boolean
-
*/
-
public void setNowarn(boolean nowarn) {
-
this.nowarn = nowarn;
-
}
-
-
/**
-
* (true) Disable informational messages
-
* @param boolean
-
*/
-
public void setNoinform(boolean noinfom) {
-
this.noinform = noinform;
-
}
-
-
/**
-
* (true) Enable internal tracing
-
* @param boolean
-
*/
-
public void setTrace(boolean trace) {
-
this.trace = trace;
-
}
-
-
/**
-
* (true) Use the WebSphere 3.5 compatible mapping rules
-
* @param boolean
-
*/
-
public void setUse35(boolean attr) {
-
use35MappingRules = attr;
-
}
-
-
/**
-
* The compiler (switch <code>-compiler</code>) to use
-
*/
-
public void setCompiler(String compiler) {
-
this.compiler = compiler;
-
}
-
-
/**
-
* Set the rebuild flag to false to only update changes in the
-
* jar rather than rerunning ejbdeploy
-
*/
-
public void setRebuild(boolean rebuild) {
-
this.alwaysRebuild = rebuild;
-
}
-
-
-
/**
-
* Setter used to store the suffix for the generated websphere jar file.
-
* @param inString the string to use as the suffix.
-
*/
-
public void setSuffix(String inString) {
-
this.jarSuffix = inString;
-
}
-
-
/**
-
* Setter used to store the value of keepGeneric
-
* @param inValue a string, either 'true' or 'false'.
-
*/
-
public void setKeepgeneric(boolean inValue) {
-
this.keepGeneric = inValue;
-
}
-
-
/**
-
* Sets whether -keepgenerated is passed to ejbdeploy (that is,
-
* the .java source files are kept).
-
* @param inValue either 'true' or 'false'
-
*/
-
public void setKeepgenerated(String inValue) {
-
this.keepgenerated = Boolean.valueOf(inValue).booleanValue();
-
}
-
-
/**
-
* Decide, wether ejbdeploy should be called or not
-
* @param ejbdeploy
-
*/
-
public void setEjbdeploy(boolean ejbdeploy) {
-
this.ejbdeploy = ejbdeploy;
-
}
-
-
/**
-
* sets some additional args to send to ejbdeploy.
-
*/
-
public void setArgs(String args) {
-
this.additionalArgs = args;
-
}
-
-
/**
-
* Setter used to store the location of the Sun's Generic EJB DTD.
-
* This can be a file on the system or a resource on the classpath.
-
* @param inString the string to use as the DTD location.
-
*/
-
public void setEJBdtd(String inString) {
-
this.ejb11DTD = inString;
-
}
-
-
/**
-
* Set the value of the oldCMP scheme. This is an antonym for
-
* newCMP
-
*/
-
public void setOldCMP(boolean oldCMP) {
-
this.newCMP = !oldCMP;
-
}
-
-
/**
-
* Set the value of the newCMP scheme. The old CMP scheme locates the
-
* websphere CMP descriptor based on the naming convention where the
-
* websphere CMP file is expected to be named with the bean name as the prefix.
-
*
-
* Under this scheme the name of the CMP descriptor does not match the name
-
* actually used in the main websphere EJB descriptor. Also, descriptors which
-
* contain multiple CMP references could not be used.
-
*
-
*/
-
public void setNewCMP(boolean newCMP) {
-
this.newCMP = newCMP;
-
}
-
-
/**
-
* Sets the temporary directory for the ejbdeploy task
-
*/
-
public void setTempdir(String tempdir) {
-
this.tempdir = tempdir;
-
}
-
-
protected DescriptorHandler getDescriptorHandler(File srcDir) {
-
DescriptorHandler handler = new DescriptorHandler(getTask(), srcDir);
-
// register all the DTDs, both the ones that are known and
-
// any supplied by the user
-
handler.registerDTD(PUBLICID_EJB11, ejb11DTD);
-
-
for (Iterator i = getConfig().dtdLocations.iterator(); i.hasNext();) {
-
EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
-
handler.registerDTD(dtdLocation.getPublicId(), dtdLocation.getLocation());
-
}
-
-
return handler;
-
}
-
-
protected DescriptorHandler getWebsphereDescriptorHandler(final File srcDir) {
-
DescriptorHandler handler = new DescriptorHandler(getTask(), srcDir) {
-
protected void processElement() {
-
}
-
};
-
-
for (Iterator i = getConfig().dtdLocations.iterator(); i.hasNext();) {
-
EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
-
handler.registerDTD(dtdLocation.getPublicId(), dtdLocation.getLocation());
-
}
-
return handler;
-
}
-
-
/**
-
* Add any vendor specific files which should be included in the
-
* EJB Jar.
-
*/
-
protected void addVendorFiles(Hashtable ejbFiles, String baseName) {
-
-
String ddPrefix = (usingBaseJarName() ? "" : baseName);
-
String dbPrefix = (dbVendor == null)? "": dbVendor + "-";
-
-
// Get the Extensions document
-
File websphereEXT = new File(getConfig().descriptorDir, ddPrefix + WAS_EXT);
-
if (websphereEXT.exists()) {
-
ejbFiles.put(META_DIR + WAS_EXT,
-
websphereEXT);
-
} else {
-
log("Unable to locate websphere extensions. It was expected to be in " +
-
websphereEXT.getPath(), Project.MSG_VERBOSE);
-
}
-
-
File websphereBND = new File(getConfig().descriptorDir, ddPrefix + WAS_BND);
-
if (websphereBND.exists()) {
-
ejbFiles.put(META_DIR + WAS_BND,
-
websphereBND);
-
}else {
-
log("Unable to locate websphere bindings. It was expected to be in " +
-
websphereBND.getPath(), Project.MSG_VERBOSE);
-
}
-
-
if (!newCMP) {
-
log("The old method for locating CMP files has been DEPRECATED.", Project.MSG_VERBOSE);
-
log("Please adjust your websphere descriptor and set newCMP=\"true\" " +
-
"to use the new CMP descriptor inclusion mechanism. ", Project.MSG_VERBOSE);
-
}
-
else {
-
// We attempt to put in the MAP and Schema files of CMP beans
-
try
-
{
-
// Add the Map file
-
File websphereMAP = new File(getConfig().descriptorDir,
-
ddPrefix + dbPrefix + WAS_CMP_MAP);
-
if (websphereMAP.exists()) {
-
ejbFiles.put(META_DIR + WAS_CMP_MAP,
-
websphereMAP);
-
} else {
-
log("Unable to locate the websphere Map: " +
-
websphereMAP.getPath(), Project.MSG_VERBOSE);
-
}
-
File websphereSchema = new File(getConfig().descriptorDir,
-
ddPrefix + dbPrefix + WAS_CMP_SCHEMA);
-
if (websphereSchema.exists()) {
-
ejbFiles.put(META_DIR + SCHEMA_DIR + WAS_CMP_SCHEMA,
-
websphereSchema);
-
} else {
-
log("Unable to locate the websphere Schema: " +
-
websphereSchema.getPath(), Project.MSG_VERBOSE);
-
}
-
// Theres nothing else to see here...keep moving sonny
-
}
-
catch(Exception e)
-
{
-
String msg = "Exception while adding Vendor specific files: " +
-
e.toString();
-
throw new BuildException(msg, e);
-
}
-
}
-
}
-
-
/**
-
* Get the vendor specific name of the Jar that will be output. The modification date
-
* of this jar will be checked against the dependent bean classes.
-
*/
-
File getVendorOutputJarFile(String baseName) {
-
return new File(getDestDir(), baseName + jarSuffix);
-
}
-
-
/**
-
* Gets the options for the EJB Deploy operation
-
* @return String
-
*/
-
protected String getOptions() {
-
// Set the options
-
StringBuffer options = new StringBuffer();
-
if (dbVendor != null) {
-
options.append(" -dbvendor ").append(dbVendor);
-
}
-
if (dbName != null) {
-
options.append(" -dbname \"").append(dbName).append("\"");
-
}
-
-
if (dbSchema != null) {
-
options.append(" -dbschema \"").append(dbSchema).append("\"");
-
}
-
-
if (codegen) {
-
options.append(" -codegen");
-
}
-
-
if (quiet) {
-
options.append(" -quiet");
-
}
-
-
if (novalidate) {
-
options.append(" -novalidate");
-
}
-
-
if (nowarn) {
-
options.append(" -nowarn");
-
}
-
-
if (noinform) {
-
options.append(" -noinform");
-
}
-
-
if (trace) {
-
options.append(" -trace");
-
}
-
-
if (use35MappingRules) {
-
options.append(" -35");
-
}
-
-
if (rmicOptions != null) {
-
options.append(" -rmic \"").append(rmicOptions).append("\"");
-
}
-
-
return options.toString();
-
} // end getOptions
-
-
/**
-
* Helper method invoked by execute() for each websphere jar to be built.
-
* Encapsulates the logic of constructing a java task for calling
-
* websphere.ejbdeploy and executing it.
-
* @param sourceJar java.io.File representing the source (EJB1.1) jarfile.
-
* @param destJar java.io.File representing the destination, websphere
-
* jarfile.
-
*/
-
private void buildWebsphereJar(File sourceJar, File destJar) {
-
try {
-
if (ejbdeploy) {
-
String args =
-
" " + sourceJar.getPath() +
-
" " + tempdir +
-
" " + destJar.getPath() +
-
" " + getOptions();
-
-
if (getCombinedClasspath() != null && getCombinedClasspath().toString().length() > 0) {
-
args += " -cp " + getCombinedClasspath();
}
-
-
// Why do my ""'s get stripped away???
-
log("EJB Deploy Options: " + args, Project.MSG_VERBOSE);
-
-
Java javaTask = (Java)getTask().getProject().createTask("java");
-
// Set the JvmArgs
-
javaTask.createJvmarg().setValue("-Xms64m");
-
javaTask.createJvmarg().setValue("-Xmx128m");
-
-
// Set the Environment variable
-
Environment.Variable var = new Environment.Variable();
-
var.setKey("websphere.lib.dir");
-
var.setValue(getTask().getProject().getProperty("websphere.home") + "/lib");
-
javaTask.addSysproperty(var);
-
-
// Set the working directory
-
javaTask.setDir(new File(getTask().getProject().getProperty("websphere.home")));
-
-
// Set the Java class name
-
javaTask.setTaskName("ejbdeploy");
-
javaTask.setClassname("com.ibm.etools.ejbdeploy.EJBDeploy");
-
-
Commandline.Argument arguments = javaTask.createArg();
-
arguments.setLine(args);
-
-
Path classpath = wasClasspath;
-
if (classpath == null) {
-
classpath = getCombinedClasspath();
-
}
-
-
if (classpath != null) {
-
javaTask.setClasspath(classpath);
-
javaTask.setFork(true);
-
}
-
else {
-
javaTask.setFork(true);
-
}
-
-
log("Calling websphere.ejbdeploy for " + sourceJar.toString(),
-
Project.MSG_VERBOSE);
-
-
javaTask.execute();
-
}
-
}
-
catch (Exception e) {
-
// Have to catch this because of the semantics of calling main()
-
String msg = "Exception while calling ejbdeploy. Details: " + e.toString();
-
throw new BuildException(msg, e);
-
}
-
}
-
-
/**
-
* Method used to encapsulate the writing of the JAR file. Iterates over the
-
* filenames/java.io.Files in the Hashtable stored on the instance variable
-
* ejbFiles.
-
*/
-
protected void writeJar(String baseName, File jarFile, Hashtable files, String publicId)
-
throws BuildException
-
{
-
if (ejbdeploy) {
-
// create the -generic.jar, if required
-
File genericJarFile = super.getVendorOutputJarFile(baseName);
-
super.writeJar(baseName, genericJarFile, files, publicId);
-
-
// create the output .jar, if required
-
if (alwaysRebuild || isRebuildRequired(genericJarFile, jarFile)) {
-
buildWebsphereJar(genericJarFile, jarFile);
-
}
-
if (!keepGeneric) {
-
log("deleting generic jar " + genericJarFile.toString(),
-
Project.MSG_VERBOSE);
-
genericJarFile.delete();
-
}
-
}
-
else {
-
// create the "undeployed" output .jar, if required
-
super.writeJar(baseName, jarFile, files, publicId);
-
}
-
/*
-
// need to create a generic jar first.
-
File genericJarFile = super.getVendorOutputJarFile(baseName);
-
super.writeJar(baseName, genericJarFile, files, publicId);
-
-
if (alwaysRebuild || isRebuildRequired(genericJarFile, jarFile)) {
-
buildWebsphereJar(genericJarFile, jarFile);
-
}
-
if (!keepGeneric) {
-
log("deleting generic jar " + genericJarFile.toString(),
-
Project.MSG_VERBOSE);
-
genericJarFile.delete();
-
}
-
*/
-
}
-
-
/**
-
* Called to validate that the tool parameters have been configured.
-
*
-
*/
-
public void validateConfigured() throws BuildException {
-
super.validateConfigured();
-
}
-
-
-
/**
-
* Helper method to check to see if a websphere EBJ1.1 jar needs to be rebuilt using
-
* ejbdeploy. Called from writeJar it sees if the "Bean" classes are the only thing that needs
-
* to be updated and either updates the Jar with the Bean classfile or returns true,
-
* saying that the whole websphere jar needs to be regened with ejbdeploy. This allows faster
-
* build times for working developers.
-
* <p>
-
* The way websphere ejbdeploy works is it creates wrappers for the publicly defined methods as
-
* they are exposed in the remote interface. If the actual bean changes without changing the
-
* the method signatures then only the bean classfile needs to be updated and the rest of the
-
* websphere jar file can remain the same. If the Interfaces, ie. the method signatures change
-
* or if the xml deployment dicriptors changed, the whole jar needs to be rebuilt with ejbdeploy.
-
* This is not strictly true for the xml files. If the JNDI name changes then the jar doesnt
-
* have to be rebuild, but if the resources references change then it does. At this point the
-
* websphere jar gets rebuilt if the xml files change at all.
-
*
-
* @param genericJarFile java.io.File The generic jar file.
-
* @param websphereJarFile java.io.File The websphere jar file to check to see if it needs to be rebuilt.
-
*/
-
protected boolean isRebuildRequired(File genericJarFile, File websphereJarFile)
-
{
-
boolean rebuild = false;
-
-
JarFile genericJar = null;
-
JarFile wasJar = null;
-
File newwasJarFile = null;
-
JarOutputStream newJarStream = null;
-
-
try
-
{
-
log("Checking if websphere Jar needs to be rebuilt for jar " + websphereJarFile.getName(),
-
Project.MSG_VERBOSE);
-
// Only go forward if the generic and the websphere file both exist
-
if (genericJarFile.exists() && genericJarFile.isFile()
-
&& websphereJarFile.exists() && websphereJarFile.isFile())
-
{
-
//open jar files
-
genericJar = new JarFile(genericJarFile);
-
wasJar = new JarFile(websphereJarFile);
-
-
Hashtable genericEntries = new Hashtable();
-
Hashtable wasEntries = new Hashtable();
-
Hashtable replaceEntries = new Hashtable();
-
-
//get the list of generic jar entries
-
for (Enumeration e = genericJar.entries(); e.hasMoreElements();)
-
{
-
JarEntry je = (JarEntry)e.nextElement();
-
genericEntries.put(je.getName().replace('\\', '/'), je);
-
}
-
//get the list of websphere jar entries
-
for (Enumeration e = wasJar.entries() ; e.hasMoreElements();)
-
{
-
JarEntry je = (JarEntry)e.nextElement();
-
wasEntries.put(je.getName(), je);
-
}
-
-
//Cycle Through generic and make sure its in websphere
-
ClassLoader genericLoader = getClassLoaderFromJar(genericJarFile);
-
for (Enumeration e = genericEntries.keys(); e.hasMoreElements();)
-
{
-
String filepath = (String)e.nextElement();
-
if (wasEntries.containsKey(filepath)) // File name/path match
-
{
-
// Check files see if same
-
JarEntry genericEntry = (JarEntry)genericEntries.get(filepath);
-
JarEntry wasEntry = (JarEntry)wasEntries.get(filepath);
-
if ((genericEntry.getCrc() != wasEntry.getCrc()) || // Crc's Match
-
(genericEntry.getSize() != wasEntry.getSize()) ) // Size Match
-
{
-
if (genericEntry.getName().endsWith(".class"))
-
{
-
//File are different see if its an object or an interface
-
String classname = genericEntry.getName().replace(File.separatorChar,'.');
-
classname = classname.substring(0,classname.lastIndexOf(".class"));
-
Class genclass = genericLoader.loadClass(classname);
-
if (genclass.isInterface())
-
{
-
//Interface changed rebuild jar.
-
log("Interface " + genclass.getName() + " has changed",Project.MSG_VERBOSE);
-
rebuild = true;
-
break;
-
}
-
else
-
{
-
//Object class Changed update it.
-
replaceEntries.put(filepath, genericEntry);
-
}
-
}
-
else
-
{
-
// is it the manifest. If so ignore it
-
if (!genericEntry.getName().equals("META-INF/MANIFEST.MF")) {
-
//File other then class changed rebuild
-
log("Non class file " + genericEntry.getName() + " has changed",Project.MSG_VERBOSE);
-
rebuild = true;
-
}
-
break;
-
}
-
}
-
}
-
else // a file doesnt exist rebuild
-
{
-
log("File " + filepath + " not present in websphere jar",Project.MSG_VERBOSE);
-
rebuild = true;
-
break;
-
}
-
}
-
-
if (!rebuild)
-
{
-
log("No rebuild needed - updating jar",Project.MSG_VERBOSE);
-
newwasJarFile = new File(websphereJarFile.getAbsolutePath() + ".temp");
-
if (newwasJarFile.exists()) {
-
newwasJarFile.delete();
-
}
-
-
newJarStream = new JarOutputStream(new FileOutputStream(newwasJarFile));
-
newJarStream.setLevel(0);
-
-
//Copy files from old websphere jar
-
for (Enumeration e = wasEntries.elements() ; e.hasMoreElements();)
-
{
-
byte[] buffer = new byte[1024];
-
int bytesRead;
-
InputStream is;
-
JarEntry je = (JarEntry)e.nextElement();
-
if (je.getCompressedSize() == -1 ||
-
je.getCompressedSize() == je.getSize()) {
-
newJarStream.setLevel(0);
-
}
-
else {
-
newJarStream.setLevel(9);
-
}
-
-
// Update with changed Bean class
-
if (replaceEntries.containsKey(je.getName()))
-
{
-
log("Updating Bean class from generic Jar " + je.getName(),
-
Project.MSG_VERBOSE);
-
// Use the entry from the generic jar
-
je = (JarEntry)replaceEntries.get(je.getName());
-
is = genericJar.getInputStream(je);
-
}
-
else //use fle from original websphere jar
-
{
-
is = wasJar.getInputStream(je);
-
}
-
newJarStream.putNextEntry(new JarEntry(je.getName()));
-
-
while ((bytesRead = is.read(buffer)) != -1)
-
{
-
newJarStream.write(buffer,0,bytesRead);
-
}
-
is.close();
-
}
-
}
-
else
-
{
-
log("websphere Jar rebuild needed due to changed interface or XML",Project.MSG_VERBOSE);
-
}
-
}
-
else
-
{
-
rebuild = true;
-
}
-
}
-
catch(ClassNotFoundException cnfe)
-
{
-
String cnfmsg = "ClassNotFoundException while processing ejb-jar file"
-
+ ". Details: "
-
+ cnfe.getMessage();
-
throw new BuildException(cnfmsg, cnfe);
-
}
-
catch(IOException ioe) {
-
String msg = "IOException while processing ejb-jar file "
-
+ ". Details: "
-
+ ioe.getMessage();
-
throw new BuildException(msg, ioe);
-
}
-
finally {
-
// need to close files and perhaps rename output
-
if (genericJar != null) {
-
try {
-
genericJar.close();
-
}
-
catch (IOException closeException) {}
-
}
-
-
if (wasJar != null) {
-
try {
-
wasJar.close();
-
}
-
catch (IOException closeException) {}
-
}
-
-
if (newJarStream != null) {
-
try {
-
newJarStream.close();
-
}
-
catch (IOException closeException) {}
-
-
websphereJarFile.delete();
-
newwasJarFile.renameTo(websphereJarFile);
-
if (!websphereJarFile.exists()) {
-
rebuild = true;
-
}
-
}
-
}
-
-
return rebuild;
-
}
-
-
/**
-
* Helper method invoked by isRebuildRequired to get a ClassLoader for
-
* a Jar File passed to it.
-
*
-
* @param classjar java.io.File representing jar file to get classes from.
-
*/
-
protected ClassLoader getClassLoaderFromJar(File classjar) throws IOException
-
{
-
Path lookupPath = new Path(getTask().getProject());
-
lookupPath.setLocation(classjar);
-
-
Path classpath = getCombinedClasspath();
-
if (classpath != null) {
-
lookupPath.append(classpath);
-
}
-
-
return new AntClassLoader(getTask().getProject(), lookupPath);
-
}
-
}
-