git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@475080 13f79535-47bb-0310-9956-ffa450edef68master
@@ -200,6 +200,11 @@ public class BorlandDeploymentTool extends GenericDeploymentTool | |||||
} | } | ||||
/** | |||||
* Get the borland descriptor handler. | |||||
* @param srcDir the source directory. | |||||
* @return the descriptor. | |||||
*/ | |||||
protected DescriptorHandler getBorlandDescriptorHandler(final File srcDir) { | protected DescriptorHandler getBorlandDescriptorHandler(final File srcDir) { | ||||
DescriptorHandler handler = | DescriptorHandler handler = | ||||
new DescriptorHandler(getTask(), srcDir) { | new DescriptorHandler(getTask(), srcDir) { | ||||
@@ -444,6 +449,11 @@ public class BorlandDeploymentTool extends GenericDeploymentTool | |||||
* Method used to encapsulate the writing of the JAR file. Iterates over the | * 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 | * filenames/java.io.Files in the Hashtable stored on the instance variable | ||||
* ejbFiles. | * ejbFiles. | ||||
* @param baseName the base name. | |||||
* @param jarFile the jar file to write to. | |||||
* @param files the files to write to the jar. | |||||
* @param publicId the id to use. | |||||
* @throws BuildException if there is an error. | |||||
*/ | */ | ||||
protected void writeJar(String baseName, File jarFile, Hashtable files, String publicId) | protected void writeJar(String baseName, File jarFile, Hashtable files, String publicId) | ||||
throws BuildException { | throws BuildException { | ||||
@@ -500,8 +510,11 @@ public class BorlandDeploymentTool extends GenericDeploymentTool | |||||
// implementation of org.apache.tools.ant.taskdefs.ExecuteStreamHandler interface | // implementation of org.apache.tools.ant.taskdefs.ExecuteStreamHandler interface | ||||
/** {@inheritDoc}. */ | |||||
public void start() throws IOException { } | public void start() throws IOException { } | ||||
/** {@inheritDoc}. */ | |||||
public void stop() { } | public void stop() { } | ||||
/** {@inheritDoc}. */ | |||||
public void setProcessInputStream(OutputStream param1) throws IOException { } | public void setProcessInputStream(OutputStream param1) throws IOException { } | ||||
/** | /** | ||||
@@ -40,6 +40,7 @@ import org.xml.sax.SAXException; | |||||
* list can then be accessed through the getFiles() method. | * list can then be accessed through the getFiles() method. | ||||
*/ | */ | ||||
public class DescriptorHandler extends org.xml.sax.HandlerBase { | public class DescriptorHandler extends org.xml.sax.HandlerBase { | ||||
private static final int DEFAULT_HASH_TABLE_SIZE = 10; | |||||
private static final int STATE_LOOKING_EJBJAR = 1; | private static final int STATE_LOOKING_EJBJAR = 1; | ||||
private static final int STATE_IN_EJBJAR = 2; | private static final int STATE_IN_EJBJAR = 2; | ||||
private static final int STATE_IN_BEANS = 3; | private static final int STATE_IN_BEANS = 3; | ||||
@@ -171,7 +172,16 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase { | |||||
} | } | ||||
/** @see org.xml.sax.EntityResolver#resolveEntity(String, String) */ | |||||
/** | |||||
* Resolve the entity. | |||||
* @see org.xml.sax.EntityResolver#resolveEntity(String, String). | |||||
* @param publicId The public identifier, or <code>null</code> | |||||
* if none is available. | |||||
* @param systemId The system identifier provided in the XML | |||||
* document. Will not be <code>null</code>. | |||||
* @return an inputsource for this identifier | |||||
* @throws SAXException if there is a problem. | |||||
*/ | |||||
public InputSource resolveEntity(String publicId, String systemId) | public InputSource resolveEntity(String publicId, String systemId) | ||||
throws SAXException { | throws SAXException { | ||||
this.publicId = publicId; | this.publicId = publicId; | ||||
@@ -245,7 +255,7 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase { | |||||
* @throws SAXException on error | * @throws SAXException on error | ||||
*/ | */ | ||||
public void startDocument() throws SAXException { | public void startDocument() throws SAXException { | ||||
this.ejbFiles = new Hashtable(10, 1); | |||||
this.ejbFiles = new Hashtable(DEFAULT_HASH_TABLE_SIZE, 1); | |||||
this.currentElement = null; | this.currentElement = null; | ||||
inEJBRef = false; | inEJBRef = false; | ||||
} | } | ||||
@@ -25,6 +25,9 @@ import org.apache.tools.ant.BuildException; | |||||
import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
/** | |||||
* The interface to implement for deployment tools. | |||||
*/ | |||||
public interface EJBDeploymentTool { | public interface EJBDeploymentTool { | ||||
/** | /** | ||||
* Process a deployment descriptor, generating the necessary vendor specific | * Process a deployment descriptor, generating the necessary vendor specific | ||||
@@ -62,7 +62,10 @@ public class Ejbc extends MatchingTask { | |||||
*/ | */ | ||||
private File sourceDirectory; | private File sourceDirectory; | ||||
// CheckStyle:VisibilityModifier OFF - bc | |||||
/** Whether to keep the generated files */ | |||||
public boolean keepgenerated; | public boolean keepgenerated; | ||||
// CheckStyle:VisibilityModifier ON | |||||
/** | /** | ||||
* Do the work. | * Do the work. | ||||
@@ -124,6 +127,10 @@ public class Ejbc extends MatchingTask { | |||||
} | } | ||||
} | } | ||||
/** | |||||
* get the keep generated attribute. | |||||
* @return the attribute. | |||||
*/ | |||||
public boolean getKeepgenerated() { | public boolean getKeepgenerated() { | ||||
return keepgenerated; | return keepgenerated; | ||||
} | } | ||||
@@ -35,7 +35,7 @@ import javax.ejb.deployment.EntityDescriptor; | |||||
* interface class files referenced in the deployment descriptors being processed. | * interface class files referenced in the deployment descriptors being processed. | ||||
* | * | ||||
*/ | */ | ||||
public class EjbcHelper { | |||||
public final class EjbcHelper { | |||||
/** | /** | ||||
* The root directory of the tree containing the serialised deployment desciptors. | * The root directory of the tree containing the serialised deployment desciptors. | ||||
*/ | */ | ||||
@@ -55,6 +55,11 @@ import org.xml.sax.SAXException; | |||||
* | * | ||||
*/ | */ | ||||
public class GenericDeploymentTool implements EJBDeploymentTool { | public class GenericDeploymentTool implements EJBDeploymentTool { | ||||
/** The default buffer byte size to use for IO */ | |||||
public static final int DEFAULT_BUFFER_SIZE = 1024; | |||||
/** The level to use for compression */ | |||||
public static final int JAR_COMPRESS_LEVEL = 9; | |||||
/** The standard META-INF directory in jar files */ | /** The standard META-INF directory in jar files */ | ||||
protected static final String META_DIR = "META-INF/"; | protected static final String META_DIR = "META-INF/"; | ||||
@@ -331,7 +336,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
// Create the file input stream, and buffer everything over | // Create the file input stream, and buffer everything over | ||||
// to the jar output stream | // to the jar output stream | ||||
byte[] byteBuffer = new byte[2 * 1024]; | |||||
byte[] byteBuffer = new byte[2 * DEFAULT_BUFFER_SIZE]; | |||||
int count = 0; | int count = 0; | ||||
do { | do { | ||||
jStream.write(byteBuffer, 0, count); | jStream.write(byteBuffer, 0, count); | ||||
@@ -387,6 +392,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
// none to register for generic | // none to register for generic | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
public void processDescriptor(String descriptorFileName, SAXParser saxParser) { | public void processDescriptor(String descriptorFileName, SAXParser saxParser) { | ||||
checkConfiguration(descriptorFileName, saxParser); | checkConfiguration(descriptorFileName, saxParser); | ||||
@@ -484,7 +490,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
* descriptor to be processed | * descriptor to be processed | ||||
* @param saxParser SAXParser which may be used to parse the XML | * @param saxParser SAXParser which may be used to parse the XML | ||||
* descriptor | * descriptor | ||||
* @exception BuildException Thrown if the configuration is invalid | |||||
* @throws BuildException if there is a problem. | |||||
*/ | */ | ||||
protected void checkConfiguration(String descriptorFileName, | protected void checkConfiguration(String descriptorFileName, | ||||
SAXParser saxParser) throws BuildException { | SAXParser saxParser) throws BuildException { | ||||
@@ -628,6 +634,9 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
* | * | ||||
* This will contain the path and the start of the descriptor name, | * This will contain the path and the start of the descriptor name, | ||||
* depending on the naming scheme | * depending on the naming scheme | ||||
* @param baseName the base name to use. | |||||
* @param descriptorFileName the file name to use. | |||||
* @return the prefix. | |||||
*/ | */ | ||||
public String getVendorDDPrefix(String baseName, String descriptorFileName) { | public String getVendorDDPrefix(String baseName, String descriptorFileName) { | ||||
String ddPrefix = null; | String ddPrefix = null; | ||||
@@ -662,6 +671,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
/** | /** | ||||
* Get the vendor specific name of the Jar that will be output. The modification date | * 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. | * of this jar will be checked against the dependent bean classes. | ||||
* @param baseName the basename to use. | |||||
*/ | */ | ||||
File getVendorOutputJarFile(String baseName) { | File getVendorOutputJarFile(String baseName) { | ||||
return new File(destDir, baseName + genericJarSuffix); | return new File(destDir, baseName + genericJarSuffix); | ||||
@@ -743,6 +753,11 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
* Method used to encapsulate the writing of the JAR file. Iterates over the | * 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 | * filenames/java.io.Files in the Hashtable stored on the instance variable | ||||
* ejbFiles. | * ejbFiles. | ||||
* @param baseName the base name to use. | |||||
* @param jarfile the jar file to write to. | |||||
* @param files the files to write to the jar. | |||||
* @param publicId the id to use. | |||||
* @throws BuildException if there is a problem. | |||||
*/ | */ | ||||
protected void writeJar(String baseName, File jarfile, Hashtable files, | protected void writeJar(String baseName, File jarfile, Hashtable files, | ||||
String publicId) throws BuildException { | String publicId) throws BuildException { | ||||
@@ -857,6 +872,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
/** | /** | ||||
* Add all available classes, that depend on Remote, Home, Bean, PK | * Add all available classes, that depend on Remote, Home, Bean, PK | ||||
* @param checkEntries files, that are extracted from the deployment descriptor | * @param checkEntries files, that are extracted from the deployment descriptor | ||||
* @throws BuildException if there is a problem. | |||||
*/ | */ | ||||
protected void checkAndAddDependants(Hashtable checkEntries) | protected void checkAndAddDependants(Hashtable checkEntries) | ||||
throws BuildException { | throws BuildException { | ||||
@@ -170,6 +170,7 @@ public class IPlanetDeploymentTool extends GenericDeploymentTool { | |||||
Project.MSG_WARN); | Project.MSG_WARN); | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
public void processDescriptor(String descriptorName, SAXParser saxParser) { | public void processDescriptor(String descriptorName, SAXParser saxParser) { | ||||
this.descriptorName = descriptorName; | this.descriptorName = descriptorName; | ||||
this.iasDescriptorName = null; | this.iasDescriptorName = null; | ||||
@@ -66,6 +66,11 @@ import org.xml.sax.SAXException; | |||||
*/ | */ | ||||
public class IPlanetEjbc { | public class IPlanetEjbc { | ||||
private static final int MIN_NUM_ARGS = 2; | |||||
private static final int MAX_NUM_ARGS = 8; | |||||
private static final int NUM_CLASSES_WITH_IIOP = 15; | |||||
private static final int NUM_CLASSES_WITHOUT_IIOP = 9; | |||||
/* Constants used for the "beantype" attribute */ | /* Constants used for the "beantype" attribute */ | ||||
private static final String ENTITY_BEAN = "entity"; | private static final String ENTITY_BEAN = "entity"; | ||||
private static final String STATELESS_SESSION = "stateless"; | private static final String STATELESS_SESSION = "stateless"; | ||||
@@ -254,7 +259,7 @@ public class IPlanetEjbc { | |||||
boolean retainSource = false; | boolean retainSource = false; | ||||
IPlanetEjbc ejbc; | IPlanetEjbc ejbc; | ||||
if ((args.length < 2) || (args.length > 8)) { | |||||
if ((args.length < MIN_NUM_ARGS) || (args.length > MAX_NUM_ARGS)) { | |||||
usage(); | usage(); | ||||
return; | return; | ||||
} | } | ||||
@@ -602,6 +607,18 @@ public class IPlanetEjbc { | |||||
* @see IPlanetEjbc.EjbInfo | * @see IPlanetEjbc.EjbInfo | ||||
*/ | */ | ||||
private class EjbcHandler extends HandlerBase { | private class EjbcHandler extends HandlerBase { | ||||
/** EJB 1.1 ID */ | |||||
private static final String PUBLICID_EJB11 = | |||||
"-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"; | |||||
/** IPlanet ID */ | |||||
private static final String PUBLICID_IPLANET_EJB_60 = | |||||
"-//Sun Microsystems, Inc.//DTD iAS Enterprise JavaBeans 1.0//EN"; | |||||
/** EJB 1.1 location */ | |||||
private static final String DEFAULT_IAS60_EJB11_DTD_LOCATION = | |||||
"ejb-jar_1_1.dtd"; | |||||
/** IAS60 location */ | |||||
private static final String DEFAULT_IAS60_DTD_LOCATION = | |||||
"IASEjb_jar_1_0.dtd"; | |||||
/* | /* | ||||
* Two Maps are used to track local DTDs that will be used in case the | * Two Maps are used to track local DTDs that will be used in case the | ||||
@@ -625,21 +642,6 @@ public class IPlanetEjbc { | |||||
* descriptor DTD. | * descriptor DTD. | ||||
*/ | */ | ||||
public EjbcHandler() { | public EjbcHandler() { | ||||
/** EJB 1.1 ID */ | |||||
final String PUBLICID_EJB11 = | |||||
"-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"; | |||||
/** IPlanet ID */ | |||||
final String PUBLICID_IPLANET_EJB_60 = | |||||
"-//Sun Microsystems, Inc.//DTD iAS Enterprise JavaBeans 1.0//EN"; | |||||
/** EJB 1.1 location */ | |||||
final String DEFAULT_IAS60_EJB11_DTD_LOCATION = | |||||
"ejb-jar_1_1.dtd"; | |||||
/** IAS60 location */ | |||||
final String DEFAULT_IAS60_DTD_LOCATION = | |||||
"IASEjb_jar_1_0.dtd"; | |||||
registerDTD(PUBLICID_EJB11, DEFAULT_IAS60_EJB11_DTD_LOCATION); | registerDTD(PUBLICID_EJB11, DEFAULT_IAS60_EJB11_DTD_LOCATION); | ||||
registerDTD(PUBLICID_IPLANET_EJB_60, DEFAULT_IAS60_DTD_LOCATION); | registerDTD(PUBLICID_IPLANET_EJB_60, DEFAULT_IAS60_DTD_LOCATION); | ||||
} | } | ||||
@@ -1271,7 +1273,9 @@ public class IPlanetEjbc { | |||||
* names for the stubs and skeletons to be generated. | * names for the stubs and skeletons to be generated. | ||||
*/ | */ | ||||
private String[] classesToGenerate() { | private String[] classesToGenerate() { | ||||
String[] classnames = (iiop) ? new String[15] : new String[9]; | |||||
String[] classnames = (iiop) | |||||
? new String[NUM_CLASSES_WITH_IIOP] | |||||
: new String[NUM_CLASSES_WITHOUT_IIOP]; | |||||
final String remotePkg = remote.getPackageName() + "."; | final String remotePkg = remote.getPackageName() + "."; | ||||
final String remoteClass = remote.getClassName(); | final String remoteClass = remote.getClassName(); | ||||
@@ -1448,7 +1452,8 @@ public class IPlanetEjbc { | |||||
* | * | ||||
*/ | */ | ||||
private static class RedirectOutput extends Thread { | private static class RedirectOutput extends Thread { | ||||
InputStream stream; // Stream to read and redirect to standard output | |||||
private InputStream stream; // Stream to read and redirect to standard output | |||||
/** | /** | ||||
* Constructs a new instance that will redirect output from the | * Constructs a new instance that will redirect output from the | ||||
@@ -20,9 +20,16 @@ package org.apache.tools.ant.taskdefs.optional.ejb; | |||||
import java.io.File; | import java.io.File; | ||||
import java.io.FilenameFilter; | import java.io.FilenameFilter; | ||||
/** | |||||
* A filename filter for inner class files of a particular class. | |||||
*/ | |||||
public class InnerClassFilenameFilter implements FilenameFilter { | public class InnerClassFilenameFilter implements FilenameFilter { | ||||
private String baseClassName; | private String baseClassName; | ||||
/** | |||||
* Constructor of filter. | |||||
* @param baseclass the class to filter inner classes on. | |||||
*/ | |||||
InnerClassFilenameFilter(String baseclass) { | InnerClassFilenameFilter(String baseclass) { | ||||
int extidx = baseclass.lastIndexOf(".class"); | int extidx = baseclass.lastIndexOf(".class"); | ||||
if (extidx == -1) { | if (extidx == -1) { | ||||
@@ -31,7 +38,13 @@ public class InnerClassFilenameFilter implements FilenameFilter { | |||||
baseClassName = baseclass.substring(0, extidx); | baseClassName = baseclass.substring(0, extidx); | ||||
} | } | ||||
public boolean accept(File Dir, String filename) { | |||||
/** | |||||
* Check if the file name passes the filter. | |||||
* @param dir not used. | |||||
* @param filename the filename to filter on. | |||||
* @return true if the filename is an inner class of the base class. | |||||
*/ | |||||
public boolean accept(File dir, String filename) { | |||||
if ((filename.lastIndexOf(".") != filename.lastIndexOf(".class")) | if ((filename.lastIndexOf(".") != filename.lastIndexOf(".class")) | ||||
|| (filename.indexOf(baseClassName + "$") != 0)) { | || (filename.indexOf(baseClassName + "$") != 0)) { | ||||
return false; | return false; | ||||
@@ -49,6 +49,8 @@ public class JbossDeploymentTool extends GenericDeploymentTool { | |||||
/** | /** | ||||
* Add any vendor specific files which should be included in the | * Add any vendor specific files which should be included in the | ||||
* EJB Jar. | * EJB Jar. | ||||
* @param ejbFiles the hashtable of files to populate. | |||||
* @param ddPrefix the prefix to use. | |||||
*/ | */ | ||||
protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | ||||
File jbossDD = new File(getConfig().descriptorDir, ddPrefix + JBOSS_DD); | File jbossDD = new File(getConfig().descriptorDir, ddPrefix + JBOSS_DD); | ||||
@@ -326,6 +326,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
/* other methods */ | /* other methods */ | ||||
/* ------------- */ | /* ------------- */ | ||||
/** {@inheritDoc}. */ | |||||
public void processDescriptor(String aDescriptorName, SAXParser saxParser) { | public void processDescriptor(String aDescriptorName, SAXParser saxParser) { | ||||
descriptorName = aDescriptorName; | descriptorName = aDescriptorName; | ||||
@@ -342,6 +343,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
} | } | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
protected void writeJar(String baseName, File jarfile, Hashtable ejbFiles, String publicId) | protected void writeJar(String baseName, File jarfile, Hashtable ejbFiles, String publicId) | ||||
throws BuildException { | throws BuildException { | ||||
@@ -361,6 +363,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
} | } | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | ||||
// JOnAS-specific descriptor deployment | // JOnAS-specific descriptor deployment | ||||
@@ -375,6 +378,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
} | } | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
protected File getVendorOutputJarFile(String baseName) { | protected File getVendorOutputJarFile(String baseName) { | ||||
return new File(getDestDir(), baseName + suffix); | return new File(getDestDir(), baseName + suffix); | ||||
} | } | ||||
@@ -451,6 +455,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
return jonasDN; | return jonasDN; | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
protected String getJarBaseName(String descriptorFileName) { | protected String getJarBaseName(String descriptorFileName) { | ||||
String baseName = null; | String baseName = null; | ||||
@@ -491,6 +496,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
return baseName; | return baseName; | ||||
} | } | ||||
/** {@inheritDoc}. */ | |||||
protected void registerKnownDTDs(DescriptorHandler handler) { | protected void registerKnownDTDs(DescriptorHandler handler) { | ||||
handler.registerDTD(EJB_JAR_1_1_PUBLIC_ID, | handler.registerDTD(EJB_JAR_1_1_PUBLIC_ID, | ||||
jonasroot + File.separator + "xml" + File.separator + EJB_JAR_1_1_DTD); | jonasroot + File.separator + "xml" + File.separator + EJB_JAR_1_1_DTD); | ||||
@@ -509,14 +515,11 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
* @param genericJarFile jar file. | * @param genericJarFile jar file. | ||||
* @param ejbFiles the hashtable. | * @param ejbFiles the hashtable. | ||||
*/ | */ | ||||
private void addGenICGeneratedFiles(File genericJarFile, Hashtable ejbFiles) { | |||||
// GenIC task | |||||
Java genicTask = null; | |||||
// GenIC class (3 GenIC classes for various versions of JOnAS | |||||
// are supported) | |||||
String genicClass = null; | |||||
private void addGenICGeneratedFiles( | |||||
File genericJarFile, Hashtable ejbFiles) { | |||||
Java genicTask = null; // GenIC task | |||||
String genicClass = null; // GenIC class (3 are supported for various | |||||
// versions | |||||
if (nogenic) { | if (nogenic) { | ||||
return; | return; | ||||
} | } | ||||
@@ -573,7 +576,6 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
+ File.separator + orb + "_jonas.jar"; | + File.separator + orb + "_jonas.jar"; | ||||
classpath.append(new Path(classpath.getProject(), orbJar)); | classpath.append(new Path(classpath.getProject(), orbJar)); | ||||
} | } | ||||
log("Using classpath: " + classpath.toString(), Project.MSG_VERBOSE); | log("Using classpath: " + classpath.toString(), Project.MSG_VERBOSE); | ||||
genicTask.setClasspath(classpath); | genicTask.setClasspath(classpath); | ||||
@@ -628,7 +630,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
// verbose | // verbose | ||||
if (verbose) { | if (verbose) { | ||||
genicTask.createArg().setValue("-verbose"); | genicTask.createArg().setValue("-verbose"); | ||||
} | |||||
} | |||||
// additionalargs | // additionalargs | ||||
if (additionalargs != null) { | if (additionalargs != null) { | ||||
@@ -653,8 +655,9 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
deleteAllFiles(outputdir); | deleteAllFiles(outputdir); | ||||
if (!keepgeneric) { | if (!keepgeneric) { | ||||
log("Deleting generic JAR " + genericJarFile.toString(), Project.MSG_VERBOSE); | |||||
genericJarFile.delete(); | |||||
log("Deleting generic JAR " + genericJarFile.toString(), | |||||
Project.MSG_VERBOSE); | |||||
genericJarFile.delete(); | |||||
} | } | ||||
throw new BuildException("GenIC reported an error."); | throw new BuildException("GenIC reported an error."); | ||||
@@ -716,6 +719,12 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
return null; | return null; | ||||
} | } | ||||
/** | |||||
* Verify the configuration. | |||||
* @param descriptorFileName the name of the descriptor file. | |||||
* @param saxParser not used. | |||||
* @throws BuildException if there is an error. | |||||
*/ | |||||
protected void checkConfiguration(String descriptorFileName, | protected void checkConfiguration(String descriptorFileName, | ||||
SAXParser saxParser) throws BuildException { | SAXParser saxParser) throws BuildException { | ||||
@@ -397,6 +397,10 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
} | } | ||||
/** | |||||
* Register the DTDs. | |||||
* @param handler the handler to use. | |||||
*/ | |||||
protected void registerKnownDTDs(DescriptorHandler handler) { | protected void registerKnownDTDs(DescriptorHandler handler) { | ||||
// register all the known DTDs | // register all the known DTDs | ||||
handler.registerDTD(PUBLICID_EJB11, DEFAULT_WL51_EJB11_DTD_LOCATION); | handler.registerDTD(PUBLICID_EJB11, DEFAULT_WL51_EJB11_DTD_LOCATION); | ||||
@@ -406,6 +410,11 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
} | } | ||||
/** | |||||
* Get the weblogic descriptor handler. | |||||
* @param srcDir the source directory. | |||||
* @return the descriptor. | |||||
*/ | |||||
protected DescriptorHandler getWeblogicDescriptorHandler(final File srcDir) { | protected DescriptorHandler getWeblogicDescriptorHandler(final File srcDir) { | ||||
DescriptorHandler handler = | DescriptorHandler handler = | ||||
new DescriptorHandler(getTask(), srcDir) { | new DescriptorHandler(getTask(), srcDir) { | ||||
@@ -442,6 +451,8 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
/** | /** | ||||
* Add any vendor specific files which should be included in the EJB Jar. | * Add any vendor specific files which should be included in the EJB Jar. | ||||
* @param ejbFiles the hash table to be populated. | |||||
* @param ddPrefix the prefix to use. | |||||
*/ | */ | ||||
protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | ||||
File weblogicDD = new File(getConfig().descriptorDir, ddPrefix + WL_DD); | File weblogicDD = new File(getConfig().descriptorDir, ddPrefix + WL_DD); | ||||
@@ -637,6 +648,11 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
* Method used to encapsulate the writing of the JAR file. Iterates over | * Method used to encapsulate the writing of the JAR file. Iterates over | ||||
* the filenames/java.io.Files in the Hashtable stored on the instance | * the filenames/java.io.Files in the Hashtable stored on the instance | ||||
* variable ejbFiles. | * variable ejbFiles. | ||||
* @param baseName the base name. | |||||
* @param jarFile the jar file to populate. | |||||
* @param files the hash table of files to write. | |||||
* @param publicId the id to use. | |||||
* @throws BuildException if there is a problem. | |||||
*/ | */ | ||||
protected void writeJar(String baseName, File jarFile, Hashtable files, | protected void writeJar(String baseName, File jarFile, Hashtable files, | ||||
String publicId) throws BuildException { | String publicId) throws BuildException { | ||||
@@ -688,6 +704,7 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
* @param genericJarFile java.io.File The generic jar file. | * @param genericJarFile java.io.File The generic jar file. | ||||
* @param weblogicJarFile java.io.File The weblogic jar file to check to | * @param weblogicJarFile java.io.File The weblogic jar file to check to | ||||
* see if it needs to be rebuilt. | * see if it needs to be rebuilt. | ||||
* @return true if the jar needs to be rebuilt. | |||||
*/ | */ | ||||
protected boolean isRebuildRequired(File genericJarFile, File weblogicJarFile) { | protected boolean isRebuildRequired(File genericJarFile, File weblogicJarFile) { | ||||
boolean rebuild = false; | boolean rebuild = false; | ||||
@@ -793,7 +810,7 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
//Copy files from old weblogic jar | //Copy files from old weblogic jar | ||||
for (Enumeration e = wlEntries.elements(); e.hasMoreElements();) { | for (Enumeration e = wlEntries.elements(); e.hasMoreElements();) { | ||||
byte[] buffer = new byte[1024]; | |||||
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; | |||||
int bytesRead; | int bytesRead; | ||||
InputStream is; | InputStream is; | ||||
JarEntry je = (JarEntry) e.nextElement(); | JarEntry je = (JarEntry) e.nextElement(); | ||||
@@ -802,7 +819,7 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { | |||||
|| je.getCompressedSize() == je.getSize()) { | || je.getCompressedSize() == je.getSize()) { | ||||
newJarStream.setLevel(0); | newJarStream.setLevel(0); | ||||
} else { | } else { | ||||
newJarStream.setLevel(9); | |||||
newJarStream.setLevel(JAR_COMPRESS_LEVEL); | |||||
} | } | ||||
// Update with changed Bean class | // Update with changed Bean class | ||||
@@ -23,6 +23,9 @@ import java.util.Hashtable; | |||||
import org.apache.tools.ant.BuildException; | import org.apache.tools.ant.BuildException; | ||||
import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
/** | |||||
* Deployment tool for Weblogic TOPLink. | |||||
*/ | |||||
public class WeblogicTOPLinkDeploymentTool extends WeblogicDeploymentTool { | public class WeblogicTOPLinkDeploymentTool extends WeblogicDeploymentTool { | ||||
private static final String TL_DTD_LOC | private static final String TL_DTD_LOC | ||||
@@ -53,6 +56,11 @@ public class WeblogicTOPLinkDeploymentTool extends WeblogicDeploymentTool { | |||||
this.toplinkDTD = inString; | this.toplinkDTD = inString; | ||||
} | } | ||||
/** | |||||
* Get the descriptor handler. | |||||
* @param srcDir the source file. | |||||
* @return the descriptor handler. | |||||
*/ | |||||
protected DescriptorHandler getDescriptorHandler(File srcDir) { | protected DescriptorHandler getDescriptorHandler(File srcDir) { | ||||
DescriptorHandler handler = super.getDescriptorHandler(srcDir); | DescriptorHandler handler = super.getDescriptorHandler(srcDir); | ||||
if (toplinkDTD != null) { | if (toplinkDTD != null) { | ||||
@@ -68,6 +76,8 @@ public class WeblogicTOPLinkDeploymentTool extends WeblogicDeploymentTool { | |||||
/** | /** | ||||
* Add any vendor specific files which should be included in the | * Add any vendor specific files which should be included in the | ||||
* EJB Jar. | * EJB Jar. | ||||
* @param ejbFiles the hashtable to add files to. | |||||
* @param ddPrefix the prefix to use. | |||||
*/ | */ | ||||
protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | protected void addVendorFiles(Hashtable ejbFiles, String ddPrefix) { | ||||
super.addVendorFiles(ejbFiles, ddPrefix); | super.addVendorFiles(ejbFiles, ddPrefix); | ||||
@@ -59,6 +59,7 @@ import org.apache.tools.ant.util.FileUtils; | |||||
* | * | ||||
*/ | */ | ||||
public class WebsphereDeploymentTool extends GenericDeploymentTool { | public class WebsphereDeploymentTool extends GenericDeploymentTool { | ||||
/** ID for ejb 1.1 */ | /** ID for ejb 1.1 */ | ||||
public static final String PUBLICID_EJB11 | public static final String PUBLICID_EJB11 | ||||
= "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"; | = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"; | ||||
@@ -608,12 +609,7 @@ public class WebsphereDeploymentTool extends GenericDeploymentTool { | |||||
} | } | ||||
} | } | ||||
/** | |||||
* 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. | |||||
*/ | |||||
/** {@inheritDoc}. */ | |||||
protected void writeJar(String baseName, File jarFile, Hashtable files, String publicId) | protected void writeJar(String baseName, File jarFile, Hashtable files, String publicId) | ||||
throws BuildException { | throws BuildException { | ||||
if (ejbdeploy) { | if (ejbdeploy) { | ||||
@@ -782,7 +778,7 @@ public class WebsphereDeploymentTool extends GenericDeploymentTool { | |||||
//Copy files from old websphere jar | //Copy files from old websphere jar | ||||
for (Enumeration e = wasEntries.elements(); e.hasMoreElements();) { | for (Enumeration e = wasEntries.elements(); e.hasMoreElements();) { | ||||
byte[] buffer = new byte[1024]; | |||||
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; | |||||
int bytesRead; | int bytesRead; | ||||
InputStream is; | InputStream is; | ||||
JarEntry je = (JarEntry) e.nextElement(); | JarEntry je = (JarEntry) e.nextElement(); | ||||
@@ -791,7 +787,7 @@ public class WebsphereDeploymentTool extends GenericDeploymentTool { | |||||
|| je.getCompressedSize() == je.getSize()) { | || je.getCompressedSize() == je.getSize()) { | ||||
newJarStream.setLevel(0); | newJarStream.setLevel(0); | ||||
} else { | } else { | ||||
newJarStream.setLevel(9); | |||||
newJarStream.setLevel(JAR_COMPRESS_LEVEL); | |||||
} | } | ||||
// Update with changed Bean class | // Update with changed Bean class | ||||