You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2006/10/27 03:42:31 UTC
svn commit: r468224 - in /incubator/openejb/trunk/openejb3: ./
container/openejb-core/src/main/java/org/apache/openejb/alt/config/
container/openejb-core/src/test/java/org/apache/openejb/core/stateful/
container/openejb-core/src/test/java/org/apache/op...
Author: dblevins
Date: Thu Oct 26 18:42:30 2006
New Revision: 468224
URL: http://svn.apache.org/viewvc?view=rev&rev=468224
Log:
Validation phase of deployment now implements deployer interface and can be optionally skipped via -Dopenejb.validation.skip=true
Added:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ValidateEjbModule.java
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/Deploy.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbModule.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbValidator.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java
incubator/openejb/trunk/openejb3/pom.xml
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java Thu Oct 26 18:42:30 2006
@@ -141,7 +141,7 @@
}
- return new EjbModule(this.jarLocation, ejbModule.getEjbJar(), openejbJar);
+ return new EjbModule(classLoader, this.jarLocation, ejbModule.getEjbJar(), openejbJar);
}
private Map<String, Connector> getConnectorsById() {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java Thu Oct 26 18:42:30 2006
@@ -48,7 +48,7 @@
public EjbModule deploy(EjbModule ejbModule) throws OpenEJBException {
if (ejbModule.getOpenejbJar() != null){
- return new EjbModule(ejbModule.getJarURI(), ejbModule.getEjbJar(), ejbModule.getOpenejbJar());
+ return new EjbModule(ejbModule.getClassLoader(), ejbModule.getJarURI(), ejbModule.getEjbJar(), ejbModule.getOpenejbJar());
}
this.jarLocation = ejbModule.getJarURI();
@@ -61,7 +61,7 @@
for (int i = 0; i < beans.length; i++) {
openejbJar.getEjbDeployment().add(deployBean(beans[i], this.jarLocation));
}
- return new EjbModule(this.jarLocation, ejbModule.getEjbJar(), openejbJar);
+ return new EjbModule(ejbModule.getClassLoader(), this.jarLocation, ejbModule.getEjbJar(), openejbJar);
}
private EjbDeployment deployBean(Bean bean, String jarLocation) throws OpenEJBException {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/Deploy.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/Deploy.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/Deploy.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/Deploy.java Thu Oct 26 18:42:30 2006
@@ -165,7 +165,8 @@
throw new OpenEJBException("Unable to create a classloader to load classes from '" + jarLocation + "'", e);
}
- EjbSet set = validator.validateJar(ejbJarUtils, classLoader);
+ final EjbModule ejbModule = new EjbModule(classLoader, ejbJarUtils.getJarLocation(), ejbJarUtils.getEjbJar(), ejbJarUtils.getOpenejbJar());
+ EjbSet set = validator.validateJar(ejbModule);
if (set.hasErrors() || set.hasFailures()) {
validator.printResults(set);
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java Thu Oct 26 18:42:30 2006
@@ -18,13 +18,10 @@
package org.apache.openejb.alt.config;
import org.apache.openejb.alt.config.sys.Deployments;
-import org.apache.openejb.alt.config.ejb.OpenejbJar;
import org.apache.openejb.loader.FileUtils;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.OpenEJB;
-import org.apache.openejb.util.Logger;
-import org.apache.openejb.jee.EjbJar;
import java.util.List;
import java.util.ArrayList;
@@ -133,7 +130,10 @@
}
};
}
- EjbValidator validator = new EjbValidator();
+
+ if (!SystemInstance.get().getProperty("openejb.validation.skip", "false").equalsIgnoreCase("true")){
+ deployer = new ValidateEjbModule(deployer);
+ }
List<EjbModule> deployedJars = new ArrayList();
@@ -184,25 +184,6 @@
EjbModule undeployedModule = new EjbModule(classLoader, jarLocation, ejbJarUtils.getEjbJar(), ejbJarUtils.getOpenejbJar());
EjbModule ejbModule = deployer.deploy(undeployedModule);
-
- EjbSet set = validator.validateJar(ejbJarUtils, classLoader);
- if (set.hasErrors() || set.hasFailures()) {
- Logger logger = Logger.getInstance("OpenEJB.startup.validation", "org.apache.openejb.alt.config.rules");
-
- ValidationError[] errors = set.getErrors();
- for (int j = 0; j < errors.length; j++) {
- ValidationError e = errors[j];
- String ejbName = (e.getBean() != null)? e.getBean().getEjbName(): "null";
- logger.error(e.getPrefix() + " ... " + ejbName + ":\t" + e.getMessage(2));
- }
- ValidationFailure[] failures = set.getFailures();
- for (int j = 0; j < failures.length; j++) {
- ValidationFailure e = failures[j];
- logger.error(e.getPrefix() + " ... " + e.getBean().getEjbName() + ":\t" + e.getMessage(2));
- }
-
- throw new OpenEJBException("Jar failed validation. Use the validation tool for more details");
- }
/* Add it to the Vector ***************/
ConfigurationFactory.logger.info("Loaded EJBs from " + jarLocation);
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbModule.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbModule.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbModule.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbModule.java Thu Oct 26 18:42:30 2006
@@ -32,12 +32,6 @@
private OpenejbJar openejbJar;
private String jarURI;
- public EjbModule(String jar, EjbJar ejbJar, OpenejbJar openejbJar) {
- this.ejbJar = ejbJar;
- this.openejbJar = openejbJar;
- this.jarURI = jar;
- }
-
public EjbModule(ClassLoader classLoader, String jarURI, EjbJar ejbJar, OpenejbJar openejbJar) {
this.classLoader = classLoader;
this.ejbJar = ejbJar;
@@ -55,6 +49,10 @@
public String getJarURI() {
return jarURI;
+ }
+
+ public String getJarLocation() {
+ return getJarURI();
}
public ClassLoader getClassLoader() {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbValidator.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbValidator.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbValidator.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbValidator.java Thu Oct 26 18:42:30 2006
@@ -67,11 +67,11 @@
return ejbSets;
}
- public EjbSet validateJar(final EjbJarUtils ejbJarUtils, ClassLoader classLoader) {
+ public EjbSet validateJar(final EjbModule ejbModule) {
EjbSet set = null;
try {
- set = new EjbSet(ejbJarUtils.getJarLocation(), ejbJarUtils.getEjbJar(), EjbJarUtils.getBeans(ejbJarUtils.getEjbJar()), classLoader);
+ set = new EjbSet(ejbModule.getJarLocation(), ejbModule.getEjbJar(), EjbJarUtils.getBeans(ejbModule.getEjbJar()), ejbModule.getClassLoader());
ValidationRule[] rules = getValidationRules();
for (int i = 0; i < rules.length; i++) {
rules[i].validate(set);
@@ -91,9 +91,9 @@
}
public String getEjbName() {
- String name = ejbJarUtils.getEjbJar().getDisplayName();
+ String name = ejbModule.getEjbJar().getDisplayName();
if (name == null){
- File jar = new File(ejbJarUtils.getJarLocation());
+ File jar = new File(ejbModule.getJarLocation());
jar = jar.getAbsoluteFile();
name = jar.getName();
if (name.equals(".")){
@@ -384,7 +384,8 @@
} catch (MalformedURLException e) {
throw new OpenEJBException("Unable to create a classloader to load classes from '" + jarLocation + "'", e);
}
- EjbSet set = v.validateJar(ejbJarUtils, classLoader);
+ final EjbModule ejbModule = new EjbModule(classLoader, ejbJarUtils.getJarLocation(), ejbJarUtils.getEjbJar(), ejbJarUtils.getOpenejbJar());
+ EjbSet set = v.validateJar(ejbModule);
v.addEjbSet(set);
} catch (Exception e) {
e.printStackTrace();
Added: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ValidateEjbModule.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ValidateEjbModule.java?view=auto&rev=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ValidateEjbModule.java (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ValidateEjbModule.java Thu Oct 26 18:42:30 2006
@@ -0,0 +1,56 @@
+/**
+ * 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ */
+package org.apache.openejb.alt.config;
+
+import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.util.Logger;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ValidateEjbModule implements DynamicDeployer {
+ private final DynamicDeployer deployer;
+
+ public ValidateEjbModule(DynamicDeployer deployer) {
+ this.deployer = deployer;
+ }
+
+ public EjbModule deploy(EjbModule ejbModule) throws OpenEJBException {
+ ejbModule = deployer.deploy(ejbModule);
+
+ EjbValidator validator = new EjbValidator();
+ EjbSet set = validator.validateJar(ejbModule);
+ if (set.hasErrors() || set.hasFailures()) {
+ Logger logger = Logger.getInstance("OpenEJB.startup.validation", "org.apache.openejb.alt.config.rules");
+
+ ValidationError[] errors = set.getErrors();
+ for (int j = 0; j < errors.length; j++) {
+ ValidationError e = errors[j];
+ String ejbName = (e.getBean() != null)? e.getBean().getEjbName(): "null";
+ logger.error(e.getPrefix() + " ... " + ejbName + ":\t" + e.getMessage(2));
+ }
+ ValidationFailure[] failures = set.getFailures();
+ for (int j = 0; j < failures.length; j++) {
+ ValidationFailure e = failures[j];
+ logger.error(e.getPrefix() + " ... " + e.getBean().getEjbName() + ":\t" + e.getMessage(2));
+ }
+
+ throw new OpenEJBException("Jar failed validation. Use the validation tool for more details");
+ }
+ return ejbModule;
+ }
+}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java Thu Oct 26 18:42:30 2006
@@ -150,7 +150,7 @@
OpenejbJar openejbJar = new OpenejbJar();
openejbJar.addEjbDeployment(new EjbDeployment("Stateful Container", "widget", "widget"));
- EjbModule jar = new EjbModule("", ejbJar, openejbJar);
+ EjbModule jar = new EjbModule(this.getClass().getClassLoader(), "", ejbJar, openejbJar);
// Build the DeploymentInfos
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java Thu Oct 26 18:42:30 2006
@@ -121,7 +121,7 @@
OpenejbJar openejbJar = new OpenejbJar();
openejbJar.addEjbDeployment(new EjbDeployment("Stateless Container", "widget", "widget"));
- EjbModule jar = new EjbModule("", ejbJar, openejbJar);
+ EjbModule jar = new EjbModule(this.getClass().getClassLoader(), "", ejbJar, openejbJar);
HashMap<String, DeploymentInfo> ejbs = build(jar);
deploymentInfo = ejbs.get("widget");
Modified: incubator/openejb/trunk/openejb3/pom.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/pom.xml?view=diff&rev=468224&r1=468223&r2=468224
==============================================================================
--- incubator/openejb/trunk/openejb3/pom.xml (original)
+++ incubator/openejb/trunk/openejb3/pom.xml Thu Oct 26 18:42:30 2006
@@ -95,9 +95,9 @@
<properties>
<!--
- - Used in openejb-core pom.xml
+ - Used in openejb-core pom.xml
-->
- <xbeanVersion>2.7</xbeanVersion>
+ <xbeanVersion>2.8-SNAPSHOT</xbeanVersion>
<!--
- Remove the property once it's been figured out how to instruct maven-assembly-plugin
- to copy SNAPSHOTs as SNAPSHOTs not 20061004.144417-3.