You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2011/05/25 03:32:00 UTC

svn commit: r1127356 - in /geronimo/server/trunk/plugins: jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/ jasper/geronimo-jasper/ jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/ jasper/geronimo-jaspe...

Author: gawor
Date: Wed May 25 01:31:59 2011
New Revision: 1127356

URL: http://svn.apache.org/viewvc?rev=1127356&view=rev
Log:
GERONIMO-5976: Load JSP tag libraries from bundles

Added:
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java   (with props)
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java   (with props)
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java   (with props)
Removed:
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistration.java
Modified:
    geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/pom.xml
    geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/GeronimoTldLocationsCache.java
    geronimo/server/trunk/plugins/jasper/jasper/src/main/plan/plan.xml
    geronimo/server/trunk/plugins/myfaces/myfaces/src/main/plan/plan.xml

Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java?rev=1127356&r1=1127355&r2=1127356&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java Wed May 25 01:31:59 2011
@@ -54,6 +54,7 @@ import org.apache.geronimo.j2ee.deployme
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.jasper.JasperServletContextCustomizer;
 import org.apache.geronimo.jasper.TldProvider;
+import org.apache.geronimo.jasper.TldRegistry;
 import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
@@ -75,7 +76,6 @@ import org.apache.xbean.finder.ClassFind
 import org.apache.xmlbeans.XmlObject;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -299,23 +299,15 @@ public class JspModuleBuilderExtension i
 
     private List<URL> scanGlobalTlds(Bundle bundle) throws DeploymentException {
         BundleContext bundleContext = bundle.getBundleContext();
-        ServiceReference[] references;
-        try {
-            references = bundleContext.getServiceReferences(TldProvider.class.getName(), null);
-        } catch (InvalidSyntaxException e) {
-            // this should not happen
-            throw new DeploymentException("Invalid filter expression", e);
-        }
+        ServiceReference reference = bundleContext.getServiceReference(TldRegistry.class.getName());
         List<URL> tldURLs = new ArrayList<URL>();
-        if (references != null) {
-            for (ServiceReference reference : references) {
-                TldProvider provider = (TldProvider) bundleContext.getService(reference);
-                for (TldProvider.TldEntry entry : provider.getTlds()) {
-                    URL url = entry.getURL();
-                    tldURLs.add(url);
-                }
-                bundleContext.ungetService(reference);
+        if (reference != null) {            
+            TldRegistry tldRegistry = (TldRegistry) bundleContext.getService(reference);
+            for (TldProvider.TldEntry entry : tldRegistry.getDependentTlds(bundle)) {
+                URL url = entry.getURL();
+                tldURLs.add(url);
             }
+            bundleContext.ungetService(reference);           
         }
         return tldURLs;
     }

Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper/pom.xml?rev=1127356&r1=1127355&r2=1127356&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper/pom.xml (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper/pom.xml Wed May 25 01:31:59 2011
@@ -106,6 +106,19 @@
         <!--<artifactId>catalina</artifactId>-->
         <!--</dependency>-->
     </dependencies>
-
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <instructions>
+                        <Bundle-Activator>org.apache.geronimo.jasper.internal.Activator</Bundle-Activator>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
 

Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/GeronimoTldLocationsCache.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/GeronimoTldLocationsCache.java?rev=1127356&r1=1127355&r2=1127356&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/GeronimoTldLocationsCache.java (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/GeronimoTldLocationsCache.java Wed May 25 01:31:59 2011
@@ -287,20 +287,18 @@ public class GeronimoTldLocationsCache e
    
     private void tldScanGlobal(Bundle bundle) throws JasperException, IOException, InvalidSyntaxException {
         BundleContext bundleContext = bundle.getBundleContext();
-        ServiceReference[] references = bundleContext.getServiceReferences(TldProvider.class.getName(), null);
-        if (references != null) {
-            for (ServiceReference reference : references) {
-                TldProvider provider = (TldProvider) bundleContext.getService(reference);
-                for (TldProvider.TldEntry entry : provider.getTlds()) {
-                    URL url = entry.getURL();
-                    if (entry.getJarUrl() != null) { 
-                        tldScanStream(url, new TldLocation(entry.getName(), entry.getJarUrl().toExternalForm()));
-                    } else {
-                        tldScanStream(url, new TldLocation(entry.getName(), new BundleJarResource(entry.getBundle())));
-                    }
+        ServiceReference reference = bundleContext.getServiceReference(TldRegistry.class.getName());
+        if (reference != null) {
+            TldRegistry tldRegistry = (TldRegistry) bundleContext.getService(reference);
+            for (TldProvider.TldEntry entry : tldRegistry.getDependentTlds(bundle)) {
+                URL url = entry.getURL();
+                if (entry.getJarUrl() != null) { 
+                    tldScanStream(url, new TldLocation(entry.getName(), entry.getJarUrl().toExternalForm()));
+                } else {
+                    tldScanStream(url, new TldLocation(entry.getName(), new BundleJarResource(entry.getBundle())));
                 }
-                bundleContext.ungetService(reference);
             }
+            bundleContext.ungetService(reference);            
         }
     }
     

Added: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java?rev=1127356&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java (added)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java Wed May 25 01:31:59 2011
@@ -0,0 +1,31 @@
+/**
+ *  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.geronimo.jasper;
+
+import java.util.Collection;
+
+import org.osgi.framework.Bundle;
+
+public interface TldRegistry {
+
+    Collection<TldProvider.TldEntry> getTls();
+    
+    Collection<TldProvider.TldEntry> getTlds(Bundle bundle);
+
+    Collection<TldProvider.TldEntry> getDependentTlds(Bundle bundle);
+    
+}

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/TldRegistry.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java?rev=1127356&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java (added)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java Wed May 25 01:31:59 2011
@@ -0,0 +1,51 @@
+/**
+ *  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.geronimo.jasper.internal;
+
+import org.apache.geronimo.jasper.TldRegistry;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.util.tracker.BundleTracker;
+
+public class Activator implements BundleActivator {
+
+    private ServiceRegistration tldRegistryRegistration;
+    private BundleTracker tldBundleTracker;
+    
+    @Override
+    public void start(BundleContext context) throws Exception {
+        TldRegistryImpl tldRegistry = new TldRegistryImpl(context);
+        tldRegistryRegistration = context.registerService(TldRegistry.class.getName(), tldRegistry, null);
+        
+        tldBundleTracker = new BundleTracker(context, Bundle.ACTIVE, tldRegistry);  
+        tldBundleTracker.open();
+    }
+
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        if (tldRegistryRegistration != null) {
+            tldRegistryRegistration.unregister();
+        }
+        
+        if (tldBundleTracker != null) {
+            tldBundleTracker.close();
+        }
+    }
+  
+}

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/Activator.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java?rev=1127356&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java (added)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java Wed May 25 01:31:59 2011
@@ -0,0 +1,178 @@
+/**
+ *  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.geronimo.jasper.internal;
+
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.zip.ZipEntry;
+
+import org.apache.geronimo.jasper.TldProvider;
+import org.apache.geronimo.jasper.TldRegistry;
+import org.apache.geronimo.system.configuration.DependencyManager;
+import org.apache.xbean.osgi.bundle.util.BundleResourceFinder;
+import org.apache.xbean.osgi.bundle.util.BundleUtils;
+import org.apache.xbean.osgi.bundle.util.BundleResourceFinder.ResourceFinderCallback;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.packageadmin.PackageAdmin;
+import org.osgi.util.tracker.BundleTrackerCustomizer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TldRegistryImpl implements TldRegistry, BundleTrackerCustomizer {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(TldRegistryImpl.class);
+    
+    private Map<Bundle, Collection<TldProvider.TldEntry>> map = new ConcurrentHashMap<Bundle, Collection<TldProvider.TldEntry>>();
+    
+    private final BundleContext bundleContext;
+
+    public TldRegistryImpl(BundleContext bundleContext) {
+        this.bundleContext = bundleContext;
+    }
+    
+    public Collection<TldProvider.TldEntry> getTls() {
+        List<TldProvider.TldEntry> allTlds = new ArrayList<TldProvider.TldEntry>();
+        for (Collection<TldProvider.TldEntry> tlds : map.values()) {
+            allTlds.addAll(tlds);
+        }
+        return allTlds;
+    }
+    
+    public Collection<TldProvider.TldEntry> getTlds(Bundle bundle) {
+        Collection<TldProvider.TldEntry> tlds = map.get(bundle);
+        return (tlds == null) ? Collections.<TldProvider.TldEntry>emptyList() : tlds;
+    }
+
+    private Set<Bundle> getDependentBundles(Bundle bundle) {
+        Set<Bundle> dependentBundles = null;
+        
+        // add in bundles from dependency manager
+        ServiceReference serviceReference = bundleContext.getServiceReference(DependencyManager.class.getName());
+        if (serviceReference != null) {
+            DependencyManager dependencyManager = (DependencyManager) bundleContext.getService(serviceReference);
+            try {
+                dependentBundles = dependencyManager.getFullDependentBundles(bundle.getBundleId());
+            } finally {
+                bundleContext.ungetService(serviceReference);
+            }
+        } else {
+            dependentBundles = new HashSet<Bundle>();
+        }
+        
+        // add in wired bundles if WAB        
+        String contextPath = (String) bundle.getHeaders().get("Web-ContextPath");
+        if (contextPath != null) {
+            Set<Bundle> wiredBundles = BundleUtils.getWiredBundles(bundle);
+            dependentBundles.addAll(wiredBundles);
+        }
+
+        return dependentBundles;
+    }
+    
+    public Collection<TldProvider.TldEntry> getDependentTlds(Bundle bundle) {
+        List<TldProvider.TldEntry> allTlds = new ArrayList<TldProvider.TldEntry>();
+        Set<Bundle> dependentBundles = getDependentBundles(bundle);
+        for (Bundle dependentBundle : dependentBundles) {
+            Collection<TldProvider.TldEntry> tlds = map.get(dependentBundle);
+            if (tlds != null) {
+                allTlds.addAll(tlds);
+            }
+        }
+        return allTlds;
+    }
+    
+    @Override
+    public Object addingBundle(Bundle bundle, BundleEvent event) {
+        Collection<TldProvider.TldEntry> tlds = scanBundle(bundle);
+        if (tlds.isEmpty()) {
+            return null;
+        } else {
+            map.put(bundle, tlds);
+            return bundle;
+        }
+    }
+
+    @Override
+    public void modifiedBundle(Bundle bundle, BundleEvent event, Object object) {
+        Collection<TldProvider.TldEntry> tlds = scanBundle(bundle);
+        if (tlds.isEmpty()) {
+            map.remove(bundle);
+        } else {
+            map.put(bundle, tlds);
+        }
+    }
+
+    @Override
+    public void removedBundle(Bundle bundle, BundleEvent event, Object object) {
+        map.remove(bundle);        
+    }
+
+    private Collection<TldProvider.TldEntry> scanBundle(Bundle bundle) {
+        ServiceReference reference = bundleContext.getServiceReference(PackageAdmin.class.getName());
+        PackageAdmin packageAdmin = (PackageAdmin) bundle.getBundleContext().getService(reference);
+        try {
+            BundleResourceFinder resourceFinder = new BundleResourceFinder(packageAdmin, bundle, "META-INF/", ".tld");        
+            TldResourceFinderCallback callback = new TldResourceFinderCallback();
+            resourceFinder.find(callback);
+            return callback.getTlds();
+        } catch (Exception e) {
+            LOGGER.warn("Error scanning bundle for JSP tag libraries", e);
+            return Collections.emptyList();
+        } finally {
+            bundleContext.ungetService(reference);
+        }
+    }
+    
+    private static class TldResourceFinderCallback implements ResourceFinderCallback, TldProvider {
+
+        private final List<TldProvider.TldEntry> tlds = new ArrayList<TldProvider.TldEntry>();
+
+        private TldResourceFinderCallback() {
+        }
+        
+        public Collection<TldProvider.TldEntry> getTlds() {
+            return tlds;
+        }
+        
+        public boolean foundInDirectory(Bundle bundle, String basePath, URL url) throws Exception {
+            LOGGER.debug("Found {} TLD in bundle {}", url, bundle);
+            tlds.add(new TldProvider.TldEntry(bundle, url));
+            return true;
+        }
+
+        public boolean foundInJar(Bundle bundle, String jarName, ZipEntry entry, InputStream in) throws Exception {
+            URL jarURL = bundle.getEntry(jarName);
+            URL url = new URL("jar:" + jarURL.toString() + "!/" + entry.getName());
+            LOGGER.debug("Found {} TLD in bundle {}", url, bundle);
+            tlds.add(new TldProvider.TldEntry(bundle, url, jarURL));
+            return false;
+        }
+        
+    }
+
+}

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/internal/TldRegistryImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/server/trunk/plugins/jasper/jasper/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/jasper/src/main/plan/plan.xml?rev=1127356&r1=1127355&r2=1127356&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/jasper/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/jasper/jasper/src/main/plan/plan.xml Wed May 25 01:31:59 2011
@@ -26,7 +26,4 @@
     <gbean name="JasperJSPFactoryConfigurer" class="org.apache.geronimo.jasper.JasperJSPFactoryConfigurer">
     </gbean>
 
-    <gbean name="JstlTldRegistration" class="org.apache.geronimo.jasper.TldRegistration">
-        <attribute name="packageNameList">org.apache.taglibs.standard</attribute>
-    </gbean>
 </module>

Modified: geronimo/server/trunk/plugins/myfaces/myfaces/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/myfaces/myfaces/src/main/plan/plan.xml?rev=1127356&r1=1127355&r2=1127356&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/myfaces/myfaces/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/myfaces/myfaces/src/main/plan/plan.xml Wed May 25 01:31:59 2011
@@ -22,8 +22,4 @@
 
     <gbean name="MyFacesLifecycleProviderFactory" class="org.apache.geronimo.myfaces.LifecycleProviderFactoryGBean"/>
 
-    <gbean name="MyfacesTldRegistration" class="org.apache.geronimo.jasper.TldRegistration">
-        <attribute name="packageNameList">org.apache.myfaces.webapp</attribute>
-    </gbean>
-
 </module>