From c75d148f323d9c79a6b4acc3b152db6d6dc4bc23 Mon Sep 17 00:00:00 2001
From: Mark Niggemann
Date: Tue, 18 Apr 2017 10:30:44 -0500
Subject: [PATCH 1/4] Add Orion EJB deployment tool to EjbJar taskdef.
---
.../optional/ejb/OrionDeploymentTool.java | 102 ++++++++++++++++++
1 file changed, 102 insertions(+)
create mode 100644 src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java
new file mode 100644
index 000000000..683561c87
--- /dev/null
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java
@@ -0,0 +1,102 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2000 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 acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements 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
+ * .
+ */
+package org.apache.tools.ant.taskdefs.optional.ejb;
+
+import java.io.*;
+import java.util.*;
+import org.apache.tools.ant.*;
+
+/**
+ * The deployment tool to add the orion specific deployment descriptor to the
+ * ejb jar file. Orion only requires one additional file orion-ejb-jar.xml
+ * and does not require any additional compilation.
+ *
+ * @author Atul Setlur
+ * @version 1.0
+ * @see EjbJar#createOrion
+ */
+
+public class OrionDeploymentTool extends GenericDeploymentTool {
+
+ protected static final String ORION_DD = "orion-ejb-jar.xml";
+
+
+ /** Instance variable that stores the suffix for the jboss jarfile. */
+ private String jarSuffix = ".jar";
+
+ /**
+ * Add any vendor specific files which should be included in the
+ * EJB Jar.
+ */
+ protected void addVendorFiles(Hashtable ejbFiles, String baseName) {
+ String ddPrefix = (usingBaseJarName() ? "" : baseName );
+ File orionDD = new File(getConfig().descriptorDir, ddPrefix + ORION_DD);
+
+ if (orionDD.exists()) {
+ ejbFiles.put(META_DIR + ORION_DD, orionDD);
+ } else {
+ log("Unable to locate Orion deployment descriptor. It was expected to be in " + orionDD.getPath(), Project.MSG_WARN);
+ return;
+ }
+
+ }
+
+ /**
+ * 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);
+ }
+}
From 49d63a1196840393653b262337e6be31016558e5 Mon Sep 17 00:00:00 2001
From: Mark Niggemann
Date: Tue, 18 Apr 2017 11:23:36 -0500
Subject: [PATCH 2/4] Add Orion EJB deployment tool to EjbJar taskdef.
---
.../ant/taskdefs/optional/ejb/EjbJar.java | 12 ++++
.../optional/ejb/OrionDeploymentTool.java | 69 +++++--------------
2 files changed, 29 insertions(+), 52 deletions(-)
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 e9b7ed429..2981cab42 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
@@ -221,6 +221,18 @@ public class EjbJar extends MatchingTask {
deploymentTools.add(deploymentTool);
}
+ /**
+ * Create a orion nested element used to configure a
+ * deployment tool for Orion server.
+ *
+ * @return the deployment tool instance to be configured.
+ */
+ public OrionDeploymentTool createOrion() {
+ OrionDeploymentTool tool = new OrionDeploymentTool();
+ addDeploymentTool(tool);
+ return tool;
+ }
+
/**
* Adds a deployment tool for Weblogic server.
*
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java
index 683561c87..058e2e47d 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/OrionDeploymentTool.java
@@ -1,68 +1,33 @@
/*
- * The Apache Software License, Version 1.1
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
*
- * Copyright (c) 2000 The Apache Software Foundation. All rights
- * reserved.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*
- * 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 acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements 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
- * .
*/
+
package org.apache.tools.ant.taskdefs.optional.ejb;
-import java.io.*;
-import java.util.*;
-import org.apache.tools.ant.*;
+import java.io.File;
+import java.util.Hashtable;
+import org.apache.tools.ant.Project;
/**
* The deployment tool to add the orion specific deployment descriptor to the
* ejb jar file. Orion only requires one additional file orion-ejb-jar.xml
* and does not require any additional compilation.
*
- * @author Atul Setlur
+ * @author Mark Niggemann
* @version 1.0
* @see EjbJar#createOrion
*/
From e93a598ad0aa21a6a0118f9bc89e746c18f47f04 Mon Sep 17 00:00:00 2001
From: Mark Niggemann
Date: Mon, 10 Jul 2017 11:40:25 -0500
Subject: [PATCH 3/4] Update manual for ejbjar orion element.
---
manual/Tasks/ejb.html | 43 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 41 insertions(+), 2 deletions(-)
diff --git a/manual/Tasks/ejb.html b/manual/Tasks/ejb.html
index aa140e703..c97650988 100644
--- a/manual/Tasks/ejb.html
+++ b/manual/Tasks/ejb.html
@@ -61,6 +61,8 @@ In general these tasks are specific to the particular vendor's EJB Server.
Application Server 6.0
JBoss 2.1 and above EJB servers
+
+ Orion Application Server 2.0
Weblogic
4.5.1 through to 7.0 EJB servers
JOnAS
@@ -81,14 +83,15 @@ In general these tasks are specific to the particular vendor's EJB Server.
Task | Application Servers |
blgenclient | Borland Application Server 4.5 and 5.x |
iplanet-ejbc | iPlanet Application Server 6.0 |
- ejbjar | Nested Elements |
+ ejbjar | Nested Elements |
borland | Borland Application Server 4.5 and 5.x |
iPlanet | iPlanet Application Server 6.0 |
jboss | JBoss |
jonas | JOnAS 2.4.x and 2.5 |
weblogic | Weblogic 5.1 to 7.0 |
websphere | IBM WebSphere 4.0 |
-
+ orion | IronFlare(Oracle) Orion Application Server 2.0.6 |
+
@@ -562,6 +565,7 @@ include:
IBM WebSphere 4.0
TOPLink for WebLogic 2.5.1-enabled entity beans
JOnAS 2.4.x and 2.5 Open Source EJB server
+ IronFlare Orion Application Server 2.0
@@ -1770,7 +1774,42 @@ descriptors to use the naming standard. This will create only one ejb jar file -
+
+
+The orion element searches for the Orion Application Server specific deployment descriptors and adds them
+to the final ejb jar file. Orion has one deployment descriptor:
+
+
+
+
+ Attribute |
+ Description |
+ Required |
+
+
+ destdir |
+ The base directory into which the generated
+ jar files are deposited. Jar files are deposited in
+ directories corresponding to their location within the
+ descriptordir namespace. |
+ Yes |
+
+
+
+Example
+
+ <ejbjar srcdir="${build.classes}"
+ descriptordir="${descriptor.dir}"
+ basejarname="TheEJBJar"
+ flatdestdir="true"
+ dependency="super"
+ genericjarsuffix=".jar">
+ <include name="**/*-ejb-jar.xml"/>
+ <orion destdir="${deploymentjars.dir}"\>
+ </ejbjar>
+