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 2009/10/10 03:04:40 UTC
svn commit: r823755 - in /openejb/trunk/openejb3:
assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/
container/openejb-core/src/main/java/org/apache/openejb/config/
Author: dblevins
Date: Sat Oct 10 01:04:39 2009
New Revision: 823755
URL: http://svn.apache.org/viewvc?rev=823755&view=rev
Log:
Reverted commit 785901. http://svn.apache.org/viewvc?view=rev&revision=785901
Going to try and work the changes back in one chunk at a time. Hopefully that will make it easier to spot when exactly things go bad with the tomcat itests
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatJndiBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WebModule.java
Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatJndiBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatJndiBuilder.java?rev=823755&r1=823754&r2=823755&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatJndiBuilder.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatJndiBuilder.java Sat Oct 10 01:04:39 2009
@@ -397,7 +397,6 @@
if (UserTransaction.class.getName().equals(ref.resourceEnvRefType)) {
resourceEnv.setProperty(Constants.FACTORY, UserTransactionFactory.class.getName());
- resourceEnv.setType(ref.resourceEnvRefType);
} else {
resourceEnv.setProperty(Constants.FACTORY, ResourceFactory.class.getName());
resourceEnv.setProperty(NAME, ref.resourceEnvRefName);
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=823755&r1=823754&r2=823755&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Sat Oct 10 01:04:39 2009
@@ -21,9 +21,7 @@
import org.apache.openejb.api.RemoteClient;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.core.webservices.JaxWsUtils;
-import org.apache.openejb.core.TempClassLoader;
import org.apache.xbean.finder.ClassFinder;
-import org.apache.xbean.finder.UrlSet;
import org.apache.openejb.jee.ActivationConfig;
import org.apache.openejb.jee.ApplicationClient;
import org.apache.openejb.jee.AroundInvoke;
@@ -349,20 +347,11 @@
public WebModule deploy(WebModule webModule) throws OpenEJBException {
WebApp webApp = webModule.getWebApp();
- if (webApp != null && (webApp.isMetadataComplete())) return webModule;
+ if (webApp != null && (webApp.isMetadataComplete() || !webApp.getServlet().isEmpty())) return webModule;
ClassFinder finder;
try {
- final ClassLoader webClassLoader = webModule.getClassLoader();
- ClassLoader parent = webClassLoader.getParent();
-
- if (webClassLoader instanceof TempClassLoader) parent = parent.getParent();
-
- UrlSet urlSet = new UrlSet(webClassLoader);
- urlSet = urlSet.exclude(parent);
-
- finder = new ClassFinder(webClassLoader, urlSet.getUrls());
- webModule.setFinder(finder);
+ finder = new ClassFinder(webModule.getClassLoader());
} catch (Exception e) {
startupLogger.warning("Unable to scrape for @WebService or @WebServiceProvider annotations. ClassFinder failed.", e);
return webModule;
@@ -821,7 +810,7 @@
/*
* Classes added to this set will be scanned for annotations
*/
- Set<Class> classes = new HashSet<Class>();
+ Set<Class<?>> classes = new HashSet<Class<?>>();
ClassLoader classLoader = webModule.getClassLoader();
@@ -947,38 +936,6 @@
}
}
- ClassFinder finder = webModule.getFinder();
-
- if (finder != null) {
- String[] webComponentAnnotations = {
- "javax.faces.bean.ManagedBean",
- "javax.servlet.annotation.WebServlet",
- "javax.servlet.annotation.WebServletContextListener",
- "javax.servlet.annotation.ServletFilter",
- };
-
- List<Class<? extends Annotation>> annotations = new ArrayList<Class<? extends Annotation>>();
- for (String componentAnnotationName : webComponentAnnotations) {
- try {
- Class<?> clazz = classLoader.loadClass(componentAnnotationName);
- annotations.add(clazz.asSubclass(Annotation.class));
- } catch (ClassNotFoundException e) {
- logger.debug("Support not enabled: " + componentAnnotationName);
- }
- }
-
-
- for (Class<? extends Annotation> annotation : annotations) {
- logger.debug("Scanning for @" + annotation.getName());
- List<Class> list = finder.findAnnotatedClasses(annotation);
- if (logger.isDebugEnabled()) for (Class clazz : list) {
- logger.debug("Found " + clazz.getName());
- }
-
- classes.addAll(list);
- }
- }
-
ClassFinder inheritedClassFinder = createInheritedClassFinder(classes.toArray(new Class<?>[classes.size()]));
/*
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=823755&r1=823754&r2=823755&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Sat Oct 10 01:04:39 2009
@@ -552,30 +552,6 @@
}
// determine war class path
- URL[] webUrls = getWebappUrls(warFile);
- ClassLoader warClassLoader = ClassLoaderUtil.createTempClassLoader(appId, webUrls, parentClassLoader);
-
- // create web module
- WebModule webModule = new WebModule(webApp, contextRoot, warClassLoader, warFile.getAbsolutePath(), moduleName);
- webModule.getAltDDs().putAll(descriptors);
- webModule.getWatchedResources().add(warPath);
- webModule.getWatchedResources().add(warFile.getAbsolutePath());
- if (webXmlUrl != null && "file".equals(webXmlUrl.getProtocol())) {
- webModule.getWatchedResources().add(URLs.toFilePath(webXmlUrl));
- }
-
- // find all tag libs
- addTagLibraries(webModule);
-
- // load webservices descriptor
- addWebservices(webModule);
-
- // load faces configuration files
- addFacesConfigs(webModule);
- return webModule;
- }
-
- public static URL[] getWebappUrls(File warFile) {
List<URL> webClassPath = new ArrayList<URL>();
File webInfDir = new File(warFile, "WEB-INF");
try {
@@ -599,7 +575,26 @@
// create the class loader
URL[] webUrls = webClassPath.toArray(new URL[webClassPath.size()]);
- return webUrls;
+ ClassLoader warClassLoader = ClassLoaderUtil.createTempClassLoader(appId, webUrls, parentClassLoader);
+
+ // create web module
+ WebModule webModule = new WebModule(webApp, contextRoot, warClassLoader, warFile.getAbsolutePath(), moduleName);
+ webModule.getAltDDs().putAll(descriptors);
+ webModule.getWatchedResources().add(warPath);
+ webModule.getWatchedResources().add(warFile.getAbsolutePath());
+ if (webXmlUrl != null && "file".equals(webXmlUrl.getProtocol())) {
+ webModule.getWatchedResources().add(URLs.toFilePath(webXmlUrl));
+ }
+
+ // find all tag libs
+ addTagLibraries(webModule);
+
+ // load webservices descriptor
+ addWebservices(webModule);
+
+ // load faces configuration files
+ addFacesConfigs(webModule);
+ return webModule;
}
private static void addWebservices(WsModule wsModule) throws OpenEJBException {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WebModule.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WebModule.java?rev=823755&r1=823754&r2=823755&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WebModule.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WebModule.java Sat Oct 10 01:04:39 2009
@@ -23,13 +23,11 @@
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import java.util.concurrent.atomic.AtomicReference;
import org.apache.openejb.jee.FacesConfig;
import org.apache.openejb.jee.TldTaglib;
import org.apache.openejb.jee.WebApp;
import org.apache.openejb.jee.Webservices;
-import org.apache.xbean.finder.ClassFinder;
/**
* @version $Rev$ $Date$
@@ -49,8 +47,6 @@
private final Set<String> watchedResources = new TreeSet<String>();
// List of all faces configuration files found in this web module
private final List<FacesConfig> facesConfigs = new ArrayList<FacesConfig>();
- private ClassFinder finder;
-
public WebModule(WebApp webApp, String contextRoot, ClassLoader classLoader, String jarLocation, String moduleId) {
this.webApp = webApp;
@@ -86,14 +82,6 @@
validation = new ValidationContext(WebModule.class, jarLocation);
}
- public ClassFinder getFinder() {
- return finder;
- }
-
- public void setFinder(ClassFinder finder) {
- this.finder = finder;
- }
-
public ValidationContext getValidation() {
return validation;
}