modules/enterprise/binding/src/main/java/org/rhq/bindings/client/ResourceClientProxy.java | 31 +++------- modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatWarComponent.java | 22 ------- 2 files changed, 15 insertions(+), 38 deletions(-)
New commits: commit 33dada117a564f49e28c061c419a6af3df49fca0 Author: Stefan Negrea snegrea@redhat.com Date: Mon Dec 12 13:51:12 2011 -0600
[BZ 758753] Use SHA as the version for the package; the format is consistent with the existing versioning scheme.
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/ResourceClientProxy.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/ResourceClientProxy.java index 25068bd..eade28b 100644 --- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/ResourceClientProxy.java +++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/ResourceClientProxy.java @@ -66,6 +66,7 @@ import org.rhq.core.domain.util.PageList; import org.rhq.core.domain.util.PageOrdering; import org.rhq.core.domain.util.Summary; import org.rhq.core.server.MeasurementConverter; +import org.rhq.core.util.MessageDigestGenerator; import org.rhq.enterprise.server.content.ContentManagerRemote; import org.rhq.enterprise.server.resource.ResourceTypeNotFoundException;
@@ -513,32 +514,26 @@ public class ResourceClientProxy { throw new IllegalArgumentException("File expected, found directory: " + file.getAbsolutePath()); }
- - InstalledPackage oldPackage = getBackingContent(); - - - String oldVersion = oldPackage.getPackageVersion().getVersion(); - String newVersion = "1.0"; - if (oldVersion != null && oldVersion.length() != 0) { - String[] parts = oldVersion.split("[^a-zA-Z0-9]"); - String lastPart = parts[parts.length-1]; - try { - int lastNumber = Integer.parseInt(lastPart); - newVersion = oldVersion.substring(0, oldVersion.length() - lastPart.length()) + (lastNumber + 1); - } catch (NumberFormatException nfe) { - newVersion = oldVersion + ".1"; - } + byte[] fileContents = new ScriptUtil(remoteClient).getFileBytes(filename); + String sha = null; + try { + sha = new MessageDigestGenerator(MessageDigestGenerator.SHA_256).calcDigestString(fileContents); + } + catch(Exception e){ + //do nothing because the sha will remain null. + LOG.error("Message digest for the package bits failed.", e); }
- byte[] fileContents = new ScriptUtil(remoteClient).getFileBytes(filename); + String version = "[sha256="+sha+"]";
+ InstalledPackage oldPackage = getBackingContent();
PackageVersion pv = remoteClient.getContentManager().createPackageVersion( remoteClient.getSubject(), oldPackage.getPackageVersion().getGeneralPackage().getName(), oldPackage.getPackageVersion().getGeneralPackage().getPackageType().getId(), - newVersion, + version, oldPackage.getPackageVersion().getArchitecture().getId(), fileContents);
@@ -547,8 +542,6 @@ public class ResourceClientProxy { new int[] { resourceClientProxy.getId()}, new int[] {pv.getId()}, "CLI deployment request"); - - }
public void retrieveBackingContent(String fileName) throws IOException { diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatWarComponent.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatWarComponent.java index 933792f..504403b 100644 --- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatWarComponent.java +++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatWarComponent.java @@ -74,7 +74,6 @@ import org.rhq.core.pluginapi.util.ResponseTimeLogParser; import org.rhq.core.util.MessageDigestGenerator; import org.rhq.core.util.ZipUtil; import org.rhq.core.util.exception.ThrowableUtil; -import org.rhq.core.util.file.JarContentFileInfo; import org.rhq.plugins.jmx.MBeanResourceComponent; import org.rhq.plugins.jmx.ObjectNameQueryUtility;
@@ -615,8 +614,7 @@ public class TomcatWarComponent extends MBeanResourceComponent<TomcatVHostCompon // Package name and file name of the application are the same String fileName = new File(fullFileName).getName(); String sha256 = getSHA256(file); - JarContentFileInfo info = new JarContentFileInfo(file); - String version = getVersion(info, sha256); + String version = getVersion(sha256);
PackageDetailsKey key = new PackageDetailsKey(fileName, version, PKG_TYPE_FILE, ARCHITECTURE); ResourcePackageDetails details = new ResourcePackageDetails(key); @@ -673,22 +671,8 @@ public class TomcatWarComponent extends MBeanResourceComponent<TomcatVHostCompon return sha256; }
- private String getVersion(JarContentFileInfo fileInfo, String sha256) { - // Version string in order of preference - // manifestVersion + sha256, sha256, manifestVersion, "0" - String version = "0"; - String manifestVersion = fileInfo.getVersion(null); - - if ((null != manifestVersion) && (null != sha256)) { - // this protects against the occasional differing binaries with poor manifest maintenance - version = manifestVersion + " [sha256=" + sha256 + "]"; - } else if (null != sha256) { - version = "[sha256=" + sha256 + "]"; - } else if (null != manifestVersion) { - version = manifestVersion; - } - - return version; + private String getVersion(String sha256) { + return "[sha256=" + sha256 + "]"; }
public List<DeployPackageStep> generateInstallationSteps(ResourcePackageDetails packageDetails) {
rhq-commits@lists.fedorahosted.org