modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/util/FileContentDelegate.java
| 17 +++++++++-
modules/plugins/jboss-as-5/src/test/java/org/rhq/plugins/jbossas5/test/FileContentDelegateTest.java
| 17 ++++------
modules/plugins/jboss-as/src/main/java/org/rhq/plugins/jbossas/util/FileContentDelegate.java
| 17 +++++++++-
modules/plugins/jboss-as/src/test/java/org/rhq/plugins/jbossas/test/FileContentDelegateTest.java
| 9 ++---
modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/helper/FileContentDelegate.java
| 17 +++++++++-
modules/plugins/tomcat/src/test/java/org/jboss/on/plugins/tomcat/test/FileContentDelegateTest.java
| 8 ++--
6 files changed, 64 insertions(+), 21 deletions(-)
New commits:
commit 74baba517d2755b524e112df9fafd5b7d7ac2ddd
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Tue Feb 7 15:51:51 2012 -0600
[BZ 767393] SHA256 computation is now identical irrespective of default operating
system implementation for list files & sorting.
diff --git
a/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/util/FileContentDelegate.java
b/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/util/FileContentDelegate.java
index 915374a..46c6522 100644
---
a/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/util/FileContentDelegate.java
+++
b/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/util/FileContentDelegate.java
@@ -29,6 +29,8 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Comparator;
import java.util.Set;
import java.util.Stack;
import java.util.jar.Attributes;
@@ -264,7 +266,20 @@ public class FileContentDelegate {
Stack<File> unvisitedFolders = new Stack<File>();
unvisitedFolders.add(deploymentDirectory);
while (!unvisitedFolders.empty()) {
- for (File file : unvisitedFolders.pop().listFiles()) {
+ File[] files = unvisitedFolders.pop().listFiles();
+ Arrays.sort(files, new Comparator<File>() {
+ public int compare(File f1, File f2) {
+ try {
+ return
f1.getCanonicalPath().compareTo(f2.getCanonicalPath());
+ } catch (IOException e) {
+ //do nothing if the sort fails at this point
+ }
+
+ return 0;
+ }
+ });
+
+ for (File file : files) {
if (file.isDirectory()) {
unvisitedFolders.add(file);
} else {
diff --git
a/modules/plugins/jboss-as-5/src/test/java/org/rhq/plugins/jbossas5/test/FileContentDelegateTest.java
b/modules/plugins/jboss-as-5/src/test/java/org/rhq/plugins/jbossas5/test/FileContentDelegateTest.java
index 0434ec0..69d5760 100644
---
a/modules/plugins/jboss-as-5/src/test/java/org/rhq/plugins/jbossas5/test/FileContentDelegateTest.java
+++
b/modules/plugins/jboss-as-5/src/test/java/org/rhq/plugins/jbossas5/test/FileContentDelegateTest.java
@@ -69,8 +69,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
- Assert.assertEquals(actualShaReturned,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
+ Assert.assertEquals(actualSha256Attribute,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
+ Assert.assertEquals(actualShaReturned,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
//cleanup resources created for this test
deleteRecursive(deploymentDirectory);
@@ -104,8 +104,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
- Assert.assertEquals(actualShaReturned,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
+ Assert.assertEquals(actualSha256Attribute,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
+ Assert.assertEquals(actualShaReturned,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
deleteRecursive(deploymentDirectory);
}
@@ -142,8 +142,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
- Assert.assertEquals(actualShaReturned,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
+ Assert.assertEquals(actualSha256Attribute,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
+ Assert.assertEquals(actualShaReturned,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
deleteRecursive(deploymentDirectory);
}
@@ -175,8 +175,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
- Assert.assertEquals(actualShaReturned,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
+ Assert.assertEquals(actualSha256Attribute,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
+ Assert.assertEquals(actualShaReturned,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
//cleanup resources created for this test
deleteRecursive(deploymentDirectory);
@@ -212,7 +212,6 @@ public class FileContentDelegateTest {
Assert.assertTrue(deploymentDirectory.isDirectory(), "Deployment directory
is no longer a directory!!");
Assert.assertFalse(deploymentFile.isDirectory(), "Deployment was exploded
when it should not have been.");
-
MessageDigestGenerator digest = new
MessageDigestGenerator(MessageDigestGenerator.SHA_256);
String expectedSHA256 = digest.calcDigestString(sampleWithoutManifestWar);
String actualSHA256OfDeployment = digest.calcDigestString(deploymentFile);
commit 33fa19623d9129416051cbb3be6857e290572f9c
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Tue Feb 7 15:51:22 2012 -0600
[BZ 767247] SHA256 computation is now identical irrespective of default operating
system implementation for list files & sorting.
diff --git
a/modules/plugins/jboss-as/src/main/java/org/rhq/plugins/jbossas/util/FileContentDelegate.java
b/modules/plugins/jboss-as/src/main/java/org/rhq/plugins/jbossas/util/FileContentDelegate.java
index 499d5a5..f82b5ec 100644
---
a/modules/plugins/jboss-as/src/main/java/org/rhq/plugins/jbossas/util/FileContentDelegate.java
+++
b/modules/plugins/jboss-as/src/main/java/org/rhq/plugins/jbossas/util/FileContentDelegate.java
@@ -29,6 +29,8 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Comparator;
import java.util.Set;
import java.util.Stack;
import java.util.jar.Attributes;
@@ -249,7 +251,20 @@ public class FileContentDelegate {
Stack<File> unvisitedFolders = new Stack<File>();
unvisitedFolders.add(deploymentDirectory);
while (!unvisitedFolders.empty()) {
- for (File file : unvisitedFolders.pop().listFiles()) {
+ File[] files = unvisitedFolders.pop().listFiles();
+ Arrays.sort(files, new Comparator<File>() {
+ public int compare(File f1, File f2) {
+ try {
+ return
f1.getCanonicalPath().compareTo(f2.getCanonicalPath());
+ } catch (IOException e) {
+ //do nothing if the sort fails at this point
+ }
+
+ return 0;
+ }
+ });
+
+ for (File file : files) {
if (file.isDirectory()) {
unvisitedFolders.add(file);
} else {
diff --git
a/modules/plugins/jboss-as/src/test/java/org/rhq/plugins/jbossas/test/FileContentDelegateTest.java
b/modules/plugins/jboss-as/src/test/java/org/rhq/plugins/jbossas/test/FileContentDelegateTest.java
index b3e7b93..6e9e355 100644
---
a/modules/plugins/jboss-as/src/test/java/org/rhq/plugins/jbossas/test/FileContentDelegateTest.java
+++
b/modules/plugins/jboss-as/src/test/java/org/rhq/plugins/jbossas/test/FileContentDelegateTest.java
@@ -107,8 +107,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
- Assert.assertEquals(actualShaReturned,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
+ Assert.assertEquals(actualSha256Attribute,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
+ Assert.assertEquals(actualShaReturned,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
deleteRecursive(deploymentDirectory);
}
@@ -181,8 +181,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
- Assert.assertEquals(actualShaReturned,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
+ Assert.assertEquals(actualSha256Attribute,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
+ Assert.assertEquals(actualShaReturned,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
//cleanup resources created for this test
deleteRecursive(deploymentDirectory);
@@ -218,7 +218,6 @@ public class FileContentDelegateTest {
Assert.assertTrue(deploymentDirectory.isDirectory(), "Deployment directory
is no longer a directory!!");
Assert.assertFalse(deploymentFile.isDirectory(), "Deployment was exploded
when it should not have been.");
-
MessageDigestGenerator digest = new
MessageDigestGenerator(MessageDigestGenerator.SHA_256);
String expectedSHA256 = digest.calcDigestString(sampleWithoutManifestWar);
String actualSHA256OfDeployment = digest.calcDigestString(deploymentFile);
commit 9c318d42bbc4f80305afb1fa0e351b38bdbd80ba
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Tue Feb 7 15:49:12 2012 -0600
[BZ 761593] SHA256 computation is now identical irrespective of default operating
system implementation for list files & sorting.
diff --git
a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/helper/FileContentDelegate.java
b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/helper/FileContentDelegate.java
index 6f914db..a4a5560 100644
---
a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/helper/FileContentDelegate.java
+++
b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/helper/FileContentDelegate.java
@@ -29,6 +29,8 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Comparator;
import java.util.Set;
import java.util.Stack;
import java.util.jar.Attributes;
@@ -213,7 +215,20 @@ public class FileContentDelegate {
Stack<File> unvisitedFolders = new Stack<File>();
unvisitedFolders.add(deploymentDirectory);
while (!unvisitedFolders.empty()) {
- for (File file : unvisitedFolders.pop().listFiles()) {
+ File[] files = unvisitedFolders.pop().listFiles();
+ Arrays.sort(files, new Comparator<File>() {
+ public int compare(File f1, File f2) {
+ try {
+ return
f1.getCanonicalPath().compareTo(f2.getCanonicalPath());
+ } catch (IOException e) {
+ //do nothing if the sort fails at this point
+ }
+
+ return 0;
+ }
+ });
+
+ for (File file : files) {
if (file.isDirectory()) {
unvisitedFolders.add(file);
} else {
diff --git
a/modules/plugins/tomcat/src/test/java/org/jboss/on/plugins/tomcat/test/FileContentDelegateTest.java
b/modules/plugins/tomcat/src/test/java/org/jboss/on/plugins/tomcat/test/FileContentDelegateTest.java
index 9a2dc49..0536c35 100644
---
a/modules/plugins/tomcat/src/test/java/org/jboss/on/plugins/tomcat/test/FileContentDelegateTest.java
+++
b/modules/plugins/tomcat/src/test/java/org/jboss/on/plugins/tomcat/test/FileContentDelegateTest.java
@@ -98,8 +98,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
- Assert.assertEquals(actualShaReturned,
"342b0c96b83cc1b36184cb7e67a7df986ef305a5891041ea1c36afd9c04afd4d");
+ Assert.assertEquals(actualSha256Attribute,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
+ Assert.assertEquals(actualShaReturned,
"a30a576b5ee15c709469517e9f529989f9ae85bddde131c014a799ca9d7c1c0f");
deleteRecursive(deploymentDirectory);
}
@@ -167,8 +167,8 @@ public class FileContentDelegateTest {
String actualSha256Attribute =
manifest.getMainAttributes().getValue("RHQ-Sha256");
manifestStream.close();
- Assert.assertEquals(actualSha256Attribute,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
- Assert.assertEquals(actualShaReturned,
"f2fa6712d19d25b47639f2ad7bd9dd1cb5af8d5551120f9f4a775edee7c5bb20");
+ Assert.assertEquals(actualSha256Attribute,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
+ Assert.assertEquals(actualShaReturned,
"bff7f7d63ae8e4f1efebb54fa727effe1b1a8246492ad9c36779d79a9771fb2b");
//cleanup resources created for this test
deleteRecursive(deploymentDirectory);