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 2015/02/27 20:19:19 UTC
tomee git commit: TOMEE-1521 handling wars in ears for AutoDeployer
Repository: tomee
Updated Branches:
refs/heads/tomee-1.7.x 4c4d4371a -> dd7ee771c
TOMEE-1521 handling wars in ears for AutoDeployer
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/dd7ee771
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/dd7ee771
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/dd7ee771
Branch: refs/heads/tomee-1.7.x
Commit: dd7ee771c101f4ab293b64014289f060a856b070
Parents: 4c4d437
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Feb 27 20:18:44 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Feb 27 20:19:09 2015 +0100
----------------------------------------------------------------------
.../org/apache/openejb/config/AutoDeployer.java | 48 ++++++++++++--------
1 file changed, 29 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/dd7ee771/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
index 79ade76..57fd3ce 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
@@ -96,6 +96,9 @@ public class AutoDeployer {
assembler.createApplication(appInfo);
+ // war can be unpacked so it changes the last modified time
+ files.get(appPath).setModified(getLastModifiedInDir(new File(appPath)));
+
} catch (final Exception e) {
logger.error("Failed Auto-Deployment of: " + appPath, e);
}
@@ -340,34 +343,41 @@ public class AutoDeployer {
//
super(dir.getAbsolutePath(), 0, getLastModifiedInDir(dir));
}
+ }
- private static long getLastModifiedInDir(final File dir) {
- assert dir != null;
+ public static long getLastModifiedInDir(final File dir) {
+ assert dir != null;
- long value = dir.lastModified();
- final File[] children = dir.listFiles();
- long test;
+ if (dir.isFile()) {
+ return dir.lastModified();
+ }
- if (children != null) {
- for (final File child : children) {
- if (!child.canRead()) {
- continue;
- }
+ long value = dir.lastModified();
+ final File[] children = dir.listFiles();
+ long test;
- if (child.isDirectory()) {
- test = getLastModifiedInDir(child);
- } else {
- test = child.lastModified();
- }
+ if (children != null) {
+ for (final File child : children) {
+ if (!child.canRead()) {
+ continue;
+ }
- if (test > value) {
- value = test;
+ if (child.isDirectory()) {
+ if (new File(child.getParentFile(), child.getName() + ".war").exists()) { // unpacked
+ continue;
}
+ test = getLastModifiedInDir(child);
+ } else {
+ test = child.lastModified();
}
- }
- return value;
+ if (test > value) {
+ value = test;
+ }
+ }
}
+
+ return value;
}
/**