You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/07/13 11:36:40 UTC
svn commit: r1361127 -
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
Author: rmannibucau
Date: Fri Jul 13 09:36:40 2012
New Revision: 1361127
URL: http://svn.apache.org/viewvc?rev=1361127&view=rev
Log:
TOMEE-280 ignored already enhanced jar
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java?rev=1361127&r1=1361126&r2=1361127&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java Fri Jul 13 09:36:40 2012
@@ -4,7 +4,12 @@ import org.apache.openejb.config.event.B
import org.apache.openejb.loader.Files;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.observer.Observes;
-import org.apache.openejb.util.*;
+import org.apache.openejb.util.JarCreator;
+import org.apache.openejb.util.JarExtractor;
+import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.URLs;
+import org.apache.xbean.finder.filter.Filter;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
@@ -17,7 +22,12 @@ import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.URL;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
import java.util.jar.JarFile;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
@@ -69,25 +79,28 @@ public class DeployTimeEnhancer {
// find persistence.xml
final Map<String, List<String>> classesByPXml = new HashMap<String, List<String>>();
+ final Filter filter = new AlreadyEnhancedFilter();
for (URL url : event.getUrls()) {
final File file = URLs.toFile(url);
- if (file.isDirectory()) {
- final String pXmls = getWarPersistenceXml(url);
- if (pXmls != null) {
- feed(classesByPXml, pXmls);
- }
- } else if (file.getName().endsWith(".jar")) {
- try {
- final JarFile jar = new JarFile(file);
- ZipEntry entry = jar.getEntry(META_INF_PERSISTENCE_XML);
- if (entry != null) {
- final String path = file.getAbsolutePath();
- final File unpacked = new File(path.substring(0, path.length() - 4) + TMP_ENHANCEMENT_SUFFIX);
- JarExtractor.extract(file, unpacked);
- feed(classesByPXml, new File(unpacked, META_INF_PERSISTENCE_XML).getAbsolutePath());
+ if (filter.accept(file.getName())) {
+ if (file.isDirectory()) {
+ final String pXmls = getWarPersistenceXml(url);
+ if (pXmls != null) {
+ feed(classesByPXml, pXmls);
+ }
+ } else if (file.getName().endsWith(".jar")) {
+ try {
+ final JarFile jar = new JarFile(file);
+ ZipEntry entry = jar.getEntry(META_INF_PERSISTENCE_XML);
+ if (entry != null) {
+ final String path = file.getAbsolutePath();
+ final File unpacked = new File(path.substring(0, path.length() - 4) + TMP_ENHANCEMENT_SUFFIX);
+ JarExtractor.extract(file, unpacked);
+ feed(classesByPXml, new File(unpacked, META_INF_PERSISTENCE_XML).getAbsolutePath());
+ }
+ } catch (IOException e) {
+ // ignored
}
- } catch (IOException e) {
- // ignored
}
}
}
@@ -246,4 +259,13 @@ public class DeployTimeEnhancer {
return paths;
}
}
+
+ private static class AlreadyEnhancedFilter implements Filter {
+ public static final String SUFFIX = JAR_ENHANCEMENT_SUFFIX + ".jar";
+
+ @Override
+ public boolean accept(final String s) {
+ return !s.endsWith(SUFFIX);
+ }
+ }
}