[jboss-cvs] JBossAS SVN: r100783 - in trunk/tomcat/src/main/java/org/jboss/web/tomcat/service: deployers and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Feb 9 22:06:50 EST 2010
Author: remy.maucherat at jboss.com
Date: 2010-02-09 22:06:50 -0500 (Tue, 09 Feb 2010)
New Revision: 100783
Modified:
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
Log:
- Allow dynamic cl configuration (if the properties can use sets, which I didn't check yet).
- Default to null which means no injections in JSP scriptlets.
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-02-10 03:03:56 UTC (rev 100782)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-02-10 03:06:50 UTC (rev 100783)
@@ -21,13 +21,6 @@
*/
package org.jboss.web.tomcat.service;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingException;
-import javax.servlet.Filter;
-import javax.servlet.Servlet;
-
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
@@ -37,14 +30,20 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.Collections;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+import javax.servlet.Filter;
+import javax.servlet.Servlet;
+
import org.apache.tomcat.InstanceManager;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
@@ -137,7 +136,7 @@
private PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
private DeploymentEndpointResolver deploymentEndpointResolver;
private Map<String, ContainerDependencyMetaData> endpointMap;
- private static final Set<String> dynamicClassLoaders = new HashSet<String>();
+ private Set<String> dynamicClassLoaders = null;
private static final Properties restrictedFilters = new Properties();
private static final Properties restrictedListeners = new Properties();
private static final Properties restrictedServlets = new Properties();
@@ -195,13 +194,10 @@
{
log.error("Error reading org/apache/catalina/core/RestrictedFilters.properties", e);
}
-
- //
- dynamicClassLoaders.add("org.apache.jasper.servlet.JasperLoader");
}
public TomcatInjectionContainer(WebApplication appInfo, DeploymentUnit unit, org.apache.catalina.Context catalinaContext,
- PersistenceUnitDependencyResolver resolver)
+ PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders)
{
super(new SimpleJavaEEModule(appInfo.getName()));
@@ -211,6 +207,7 @@
this.persistenceUnitDependencyResolver = resolver;
this.deploymentEndpointResolver = unit.getAttachment(DeploymentEndpointResolver.class);
this.endpointMap = unit.getTopLevel().getAttachment(MappedReferenceMetaDataResolverDeployer.ENDPOINT_MAP_KEY, Map.class);
+ this.dynamicClassLoaders = dynamicClassLoaders;
this.webDD = unit.getAttachment(JBossWebMetaData.class);
assert this.webDD != null : "webDD is null (no JBossWebMetaData attachment in VFSDeploymentUnit)";
@@ -486,6 +483,8 @@
*/
private boolean isDynamicBean(Object object)
{
+ if (dynamicClassLoaders == null)
+ return false;
if (object == null)
throw new IllegalArgumentException("null class");
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java 2010-02-10 03:03:56 UTC (rev 100782)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java 2010-02-10 03:06:50 UTC (rev 100783)
@@ -22,6 +22,7 @@
package org.jboss.web.tomcat.service.deployers;
import java.util.List;
+import java.util.Set;
import javax.management.ObjectName;
@@ -109,6 +110,9 @@
/** FQN of the SecurityContext Class */
private String securityContextClassName;
+ /** Dynamic classloaders */
+ private Set<String> dynamicClassloaders;
+
public ClassLoader getServiceClassLoader()
{
return serviceClassLoader;
@@ -269,6 +273,16 @@
public void setSharedTldMetaData(List<TldMetaData> sharedTldMetaData)
{
this.sharedTldMetaData = sharedTldMetaData;
+ }
+
+ public Set<String> getDynamicClassloaders()
+ {
+ return dynamicClassloaders;
+ }
+
+ public void setDynamicClassloaders(Set<String> dynamicClassloaders)
+ {
+ this.dynamicClassloaders = dynamicClassloaders;
}
}
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java 2010-02-10 03:03:56 UTC (rev 100782)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java 2010-02-10 03:06:50 UTC (rev 100783)
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
import java.util.StringTokenizer;
import javax.management.ObjectName;
@@ -93,6 +94,9 @@
private boolean deleteWorkDirOnContextDestroy = true;
+ /** Dynamic classloaders */
+ private Set<String> dynamicClassloaders;
+
/**
* JBAS-2283: Provide custom header based auth support
*/
@@ -211,6 +215,16 @@
log.debug("Passed set of authenticators=" + prop);
}
+ public Set<String> getDynamicClassloaders()
+ {
+ return dynamicClassloaders;
+ }
+
+ public void setDynamicClassloaders(Set<String> dynamicClassloaders)
+ {
+ this.dynamicClassloaders = dynamicClassloaders;
+ }
+
public String getTldJars()
{
return tldJars;
@@ -452,6 +466,7 @@
config.setSharedMetaData(sharedMetaData);
config.setSharedTldMetaData(sharedTldMetaData);
config.setDeleteWorkDirs(deleteWorkDirOnContextDestroy);
+ config.setDynamicClassloaders(dynamicClassloaders);
config.setSecurityContextClassName(securityContextClassName);
deployment.setSecurityManagementName(securityManagement);
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-02-10 03:03:56 UTC (rev 100782)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-02-10 03:06:50 UTC (rev 100783)
@@ -189,7 +189,9 @@
tldMetaDataMap.put(tldMetaData.toString(), tldMetaData);
}
- TomcatInjectionContainer injectionContainer = new TomcatInjectionContainer(webApp, depUnit, context, getPersistenceUnitDependencyResolver());
+ TomcatInjectionContainer injectionContainer =
+ new TomcatInjectionContainer(webApp, depUnit, context,
+ getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders());
if (kernel != null)
{
More information about the jboss-cvs-commits
mailing list