You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by David Blevins <da...@gmail.com> on 2012/03/09 09:12:24 UTC

Re: svn commit: r1298362 - in /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config: DeploymentLoader.java EnvEntriesPropertiesDeployer.java

The description implies something ignored is now not ignored (a bugfix), but it appears to just be a formatting change.

-David

On Mar 8, 2012, at 5:20 AM, rmannibucau@apache.org wrote:

> Author: rmannibucau
> Date: Thu Mar  8 11:20:16 2012
> New Revision: 1298362
> 
> URL: http://svn.apache.org/viewvc?rev=1298362&view=rev
> Log:
> better handling of dd in webapps (typically env-entries was ignored)
> 
> Modified:
>    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
>    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
> 
> Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1298362&r1=1298361&r2=1298362&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
> +++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Thu Mar  8 11:20:16 2012
> @@ -65,6 +65,7 @@ import java.net.URLClassLoader;
> import java.net.URLDecoder;
> import java.util.ArrayList;
> import java.util.Arrays;
> +import java.util.Collection;
> import java.util.Collections;
> import java.util.HashMap;
> import java.util.HashSet;
> @@ -92,6 +93,7 @@ public class DeploymentLoader implements
>     private static final String OPENEJB_ALTDD_PREFIX = "openejb.altdd.prefix";
>     private static final String ddDir = "META-INF/";
>     private boolean scanManagedBeans = true;
> +    private static final Collection<String> KNOWN_DESCRIPTORS = Arrays.asList("web.xml", "ejb-jar.xml", "openejb-jar.xml", "env-entries.properties", "beans.xml", "ra.xml", "application.xml", "application-client.xml", "persistence-fragment.xml", "persistence.xml", "validation.xml");
> 
>     public AppModule load(final File jarFile) throws OpenEJBException {
>         // verify we have a valid file
> @@ -1320,8 +1322,7 @@ public class DeploymentLoader implements
> 
>         if (map.size() == 0) {
> 
> -            final String[] known = {"web.xml", "ejb-jar.xml", "openejb-jar.xml", "env-entries.properties", "beans.xml", "ra.xml", "application.xml", "application-client.xml", "persistence-fragment.xml", "persistence.xml", "validation.xml"};
> -            for (final String descriptor : known) {
> +            for (final String descriptor : KNOWN_DESCRIPTORS) {
> 
>                 final URL url = finder.getResource(ddDir + descriptor);
>                 if (url != null) map.put(descriptor, url);
> @@ -1389,7 +1390,8 @@ public class DeploymentLoader implements
>                 final JarFile jarFile = new JarFile(warFile);
>                 for (final JarEntry entry : Collections.list(jarFile.entries())) {
>                     final String entryName = entry.getName();
> -                    if (!entry.isDirectory() && entryName.startsWith("WEB-INF/") && entryName.endsWith(".xml")) {
> +                    if (!entry.isDirectory() && entryName.startsWith("WEB-INF/")
> +                            && (KNOWN_DESCRIPTORS.contains(entryName) || entryName.endsWith(".xml"))) { // + web.xml, web-fragment.xml...
>                         descriptors.put(entryName, new URL(jarURL, entry.getName()));
>                     }
>                 }
> 
> Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java?rev=1298362&r1=1298361&r2=1298362&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java (original)
> +++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java Thu Mar  8 11:20:16 2012
> @@ -17,16 +17,15 @@
> package org.apache.openejb.config;
> 
> import org.apache.openejb.OpenEJBException;
> +import org.apache.openejb.jee.EnterpriseBean;
> +import org.apache.openejb.jee.EnvEntry;
> +import org.apache.openejb.jee.JndiConsumer;
> import org.apache.openejb.loader.IO;
> import org.apache.openejb.loader.SystemInstance;
> -import org.apache.openejb.util.Logger;
> import org.apache.openejb.util.LogCategory;
> -import org.apache.openejb.jee.EnvEntry;
> -import org.apache.openejb.jee.EnterpriseBean;
> -import org.apache.openejb.jee.JndiConsumer;
> +import org.apache.openejb.util.Logger;
> 
> import java.io.IOException;
> -import java.io.InputStream;
> import java.net.URL;
> import java.util.Collections;
> import java.util.HashMap;
> @@ -120,7 +119,7 @@ public class EnvEntriesPropertiesDeploye
>     @SuppressWarnings({"unchecked"})
>     private Map<String, String> getEnvEntries(DeploymentModule module) {
>         URL propsUrl = (URL) module.getAltDDs().get("env-entries.properties");
> -        if (propsUrl == null){
> +        if (propsUrl == null) {
>             propsUrl = (URL) module.getAltDDs().get("env-entry.properties");
>         }
>         if (propsUrl == null) return Collections.emptyMap();
> 
> 
> 


Re: svn commit: r1298362 - in /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config: DeploymentLoader.java EnvEntriesPropertiesDeployer.java

Posted by David Blevins <da...@gmail.com>.
Ahh.  I see... the entryName.endsWith(".xml") part.

We maybe should file a JIRA to add an Arquillian test that uses an env-entries.properties file.

I seem to recall needing to add that functionality because the CDI TCK had jar files that didn't list the directories themselves as entries and therefore ResourceFinder didn't work at all.  I remember seeing the same thing happen in ShrinkWrap, though this might have been fixed.


-David

On Mar 9, 2012, at 2:14 AM, Romain Manni-Bucau wrote:

> are you sure? ;)
> 
> no the test to add or not a DD in the webapp DD changed.
> 
> env-entries.properties was ignored.
> 
> - Romain
> 
> 
> 2012/3/9 David Blevins <da...@gmail.com>
> 
>> The description implies something ignored is now not ignored (a bugfix),
>> but it appears to just be a formatting change.
>> 
>> -David
>> 
>> On Mar 8, 2012, at 5:20 AM, rmannibucau@apache.org wrote:
>> 
>>> Author: rmannibucau
>>> Date: Thu Mar  8 11:20:16 2012
>>> New Revision: 1298362
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=1298362&view=rev
>>> Log:
>>> better handling of dd in webapps (typically env-entries was ignored)
>>> 
>>> Modified:
>>> 
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
>>> 
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
>>> 
>>> Modified:
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
>>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1298362&r1=1298361&r2=1298362&view=diff
>>> 
>> ==============================================================================
>>> ---
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
>> (original)
>>> +++
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
>> Thu Mar  8 11:20:16 2012
>>> @@ -65,6 +65,7 @@ import java.net.URLClassLoader;
>>> import java.net.URLDecoder;
>>> import java.util.ArrayList;
>>> import java.util.Arrays;
>>> +import java.util.Collection;
>>> import java.util.Collections;
>>> import java.util.HashMap;
>>> import java.util.HashSet;
>>> @@ -92,6 +93,7 @@ public class DeploymentLoader implements
>>>    private static final String OPENEJB_ALTDD_PREFIX =
>> "openejb.altdd.prefix";
>>>    private static final String ddDir = "META-INF/";
>>>    private boolean scanManagedBeans = true;
>>> +    private static final Collection<String> KNOWN_DESCRIPTORS =
>> Arrays.asList("web.xml", "ejb-jar.xml", "openejb-jar.xml",
>> "env-entries.properties", "beans.xml", "ra.xml", "application.xml",
>> "application-client.xml", "persistence-fragment.xml", "persistence.xml",
>> "validation.xml");
>>> 
>>>    public AppModule load(final File jarFile) throws OpenEJBException {
>>>        // verify we have a valid file
>>> @@ -1320,8 +1322,7 @@ public class DeploymentLoader implements
>>> 
>>>        if (map.size() == 0) {
>>> 
>>> -            final String[] known = {"web.xml", "ejb-jar.xml",
>> "openejb-jar.xml", "env-entries.properties", "beans.xml", "ra.xml",
>> "application.xml", "application-client.xml", "persistence-fragment.xml",
>> "persistence.xml", "validation.xml"};
>>> -            for (final String descriptor : known) {
>>> +            for (final String descriptor : KNOWN_DESCRIPTORS) {
>>> 
>>>                final URL url = finder.getResource(ddDir + descriptor);
>>>                if (url != null) map.put(descriptor, url);
>>> @@ -1389,7 +1390,8 @@ public class DeploymentLoader implements
>>>                final JarFile jarFile = new JarFile(warFile);
>>>                for (final JarEntry entry :
>> Collections.list(jarFile.entries())) {
>>>                    final String entryName = entry.getName();
>>> -                    if (!entry.isDirectory() &&
>> entryName.startsWith("WEB-INF/") && entryName.endsWith(".xml")) {
>>> +                    if (!entry.isDirectory() &&
>> entryName.startsWith("WEB-INF/")
>>> +                            && (KNOWN_DESCRIPTORS.contains(entryName)
>> || entryName.endsWith(".xml"))) { // + web.xml, web-fragment.xml...
>>>                        descriptors.put(entryName, new URL(jarURL,
>> entry.getName()));
>>>                    }
>>>                }
>>> 
>>> Modified:
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
>>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java?rev=1298362&r1=1298361&r2=1298362&view=diff
>>> 
>> ==============================================================================
>>> ---
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
>> (original)
>>> +++
>> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
>> Thu Mar  8 11:20:16 2012
>>> @@ -17,16 +17,15 @@
>>> package org.apache.openejb.config;
>>> 
>>> import org.apache.openejb.OpenEJBException;
>>> +import org.apache.openejb.jee.EnterpriseBean;
>>> +import org.apache.openejb.jee.EnvEntry;
>>> +import org.apache.openejb.jee.JndiConsumer;
>>> import org.apache.openejb.loader.IO;
>>> import org.apache.openejb.loader.SystemInstance;
>>> -import org.apache.openejb.util.Logger;
>>> import org.apache.openejb.util.LogCategory;
>>> -import org.apache.openejb.jee.EnvEntry;
>>> -import org.apache.openejb.jee.EnterpriseBean;
>>> -import org.apache.openejb.jee.JndiConsumer;
>>> +import org.apache.openejb.util.Logger;
>>> 
>>> import java.io.IOException;
>>> -import java.io.InputStream;
>>> import java.net.URL;
>>> import java.util.Collections;
>>> import java.util.HashMap;
>>> @@ -120,7 +119,7 @@ public class EnvEntriesPropertiesDeploye
>>>    @SuppressWarnings({"unchecked"})
>>>    private Map<String, String> getEnvEntries(DeploymentModule module) {
>>>        URL propsUrl = (URL)
>> module.getAltDDs().get("env-entries.properties");
>>> -        if (propsUrl == null){
>>> +        if (propsUrl == null) {
>>>            propsUrl = (URL)
>> module.getAltDDs().get("env-entry.properties");
>>>        }
>>>        if (propsUrl == null) return Collections.emptyMap();
>>> 
>>> 
>>> 
>> 
>> 


Re: svn commit: r1298362 - in /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config: DeploymentLoader.java EnvEntriesPropertiesDeployer.java

Posted by Romain Manni-Bucau <rm...@gmail.com>.
are you sure? ;)

no the test to add or not a DD in the webapp DD changed.

env-entries.properties was ignored.

- Romain


2012/3/9 David Blevins <da...@gmail.com>

> The description implies something ignored is now not ignored (a bugfix),
> but it appears to just be a formatting change.
>
> -David
>
> On Mar 8, 2012, at 5:20 AM, rmannibucau@apache.org wrote:
>
> > Author: rmannibucau
> > Date: Thu Mar  8 11:20:16 2012
> > New Revision: 1298362
> >
> > URL: http://svn.apache.org/viewvc?rev=1298362&view=rev
> > Log:
> > better handling of dd in webapps (typically env-entries was ignored)
> >
> > Modified:
> >
>  openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
> >
>  openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
> >
> > Modified:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1298362&r1=1298361&r2=1298362&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
> (original)
> > +++
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
> Thu Mar  8 11:20:16 2012
> > @@ -65,6 +65,7 @@ import java.net.URLClassLoader;
> > import java.net.URLDecoder;
> > import java.util.ArrayList;
> > import java.util.Arrays;
> > +import java.util.Collection;
> > import java.util.Collections;
> > import java.util.HashMap;
> > import java.util.HashSet;
> > @@ -92,6 +93,7 @@ public class DeploymentLoader implements
> >     private static final String OPENEJB_ALTDD_PREFIX =
> "openejb.altdd.prefix";
> >     private static final String ddDir = "META-INF/";
> >     private boolean scanManagedBeans = true;
> > +    private static final Collection<String> KNOWN_DESCRIPTORS =
> Arrays.asList("web.xml", "ejb-jar.xml", "openejb-jar.xml",
> "env-entries.properties", "beans.xml", "ra.xml", "application.xml",
> "application-client.xml", "persistence-fragment.xml", "persistence.xml",
> "validation.xml");
> >
> >     public AppModule load(final File jarFile) throws OpenEJBException {
> >         // verify we have a valid file
> > @@ -1320,8 +1322,7 @@ public class DeploymentLoader implements
> >
> >         if (map.size() == 0) {
> >
> > -            final String[] known = {"web.xml", "ejb-jar.xml",
> "openejb-jar.xml", "env-entries.properties", "beans.xml", "ra.xml",
> "application.xml", "application-client.xml", "persistence-fragment.xml",
> "persistence.xml", "validation.xml"};
> > -            for (final String descriptor : known) {
> > +            for (final String descriptor : KNOWN_DESCRIPTORS) {
> >
> >                 final URL url = finder.getResource(ddDir + descriptor);
> >                 if (url != null) map.put(descriptor, url);
> > @@ -1389,7 +1390,8 @@ public class DeploymentLoader implements
> >                 final JarFile jarFile = new JarFile(warFile);
> >                 for (final JarEntry entry :
> Collections.list(jarFile.entries())) {
> >                     final String entryName = entry.getName();
> > -                    if (!entry.isDirectory() &&
> entryName.startsWith("WEB-INF/") && entryName.endsWith(".xml")) {
> > +                    if (!entry.isDirectory() &&
> entryName.startsWith("WEB-INF/")
> > +                            && (KNOWN_DESCRIPTORS.contains(entryName)
> || entryName.endsWith(".xml"))) { // + web.xml, web-fragment.xml...
> >                         descriptors.put(entryName, new URL(jarURL,
> entry.getName()));
> >                     }
> >                 }
> >
> > Modified:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java?rev=1298362&r1=1298361&r2=1298362&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
> (original)
> > +++
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/EnvEntriesPropertiesDeployer.java
> Thu Mar  8 11:20:16 2012
> > @@ -17,16 +17,15 @@
> > package org.apache.openejb.config;
> >
> > import org.apache.openejb.OpenEJBException;
> > +import org.apache.openejb.jee.EnterpriseBean;
> > +import org.apache.openejb.jee.EnvEntry;
> > +import org.apache.openejb.jee.JndiConsumer;
> > import org.apache.openejb.loader.IO;
> > import org.apache.openejb.loader.SystemInstance;
> > -import org.apache.openejb.util.Logger;
> > import org.apache.openejb.util.LogCategory;
> > -import org.apache.openejb.jee.EnvEntry;
> > -import org.apache.openejb.jee.EnterpriseBean;
> > -import org.apache.openejb.jee.JndiConsumer;
> > +import org.apache.openejb.util.Logger;
> >
> > import java.io.IOException;
> > -import java.io.InputStream;
> > import java.net.URL;
> > import java.util.Collections;
> > import java.util.HashMap;
> > @@ -120,7 +119,7 @@ public class EnvEntriesPropertiesDeploye
> >     @SuppressWarnings({"unchecked"})
> >     private Map<String, String> getEnvEntries(DeploymentModule module) {
> >         URL propsUrl = (URL)
> module.getAltDDs().get("env-entries.properties");
> > -        if (propsUrl == null){
> > +        if (propsUrl == null) {
> >             propsUrl = (URL)
> module.getAltDDs().get("env-entry.properties");
> >         }
> >         if (propsUrl == null) return Collections.emptyMap();
> >
> >
> >
>
>