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 <[email protected]>
> 
>> 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, [email protected] 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();
>>> 
>>> 
>>> 
>> 
>> 

Reply via email to