Yair Zaslavsky has uploaded a new change for review. Change subject: core: do not include arch in rpm revision ......................................................................
core: do not include arch in rpm revision architecture part should not be a part of rpm revision calculation. Change-Id: Iff4cbb294b26472d535328c4a3cdc273255ece1f Signed-off-by: Yair Zaslavsky <yzasl...@redhat.com> --- M backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/RpmVersion.java M backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/RpmVersionTest.java 2 files changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/18348/1 diff --git a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/RpmVersion.java b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/RpmVersion.java index dcd6878..c3ed450 100644 --- a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/RpmVersion.java +++ b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/RpmVersion.java @@ -77,10 +77,31 @@ if (lastDashIndex == -1) { return; } - rpmRevision = rpmName.substring(lastDashIndex + 1); + String revisionAndArch = rpmName.substring(lastDashIndex + 1); + String[] parts =revisionAndArch.split("\\."); + StringBuilder sb = new StringBuilder(); + for (String part: parts) { + if (isLongNumber(part)) { + sb.append("."); + sb.append(part); + } else { + break; + } + } + sb.deleteCharAt(0); + rpmRevision = sb.toString(); } + private boolean isLongNumber(String part) { + try { + Long.parseLong(part); + } catch (NumberFormatException ex) { + return false; + } + return true; + } + public String getRpmName() { return this.rpmName; } diff --git a/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/RpmVersionTest.java b/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/RpmVersionTest.java index b95a225..7517f06 100644 --- a/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/RpmVersionTest.java +++ b/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/RpmVersionTest.java @@ -42,11 +42,13 @@ @Test public void testRpmRevision() { - assertEquals(new RpmVersion("test-javadb-common-10.2.2.2.2-1.1.i386").getRpmRevision(), "1.1.i386"); + assertEquals(new RpmVersion("ovirt-node-iso-2.6.0-20130212.fc18.noarch").getRpmRevision(), + "20130212"); + assertEquals(new RpmVersion("test-javadb-common-10.2.2.2.2-1.1.i386").getRpmRevision(), "1.1"); assertEquals(new RpmVersion("java-1.7.0-openjdk-devel-1.7.0.25-2.3.10.4.fc18.x86_64").getRpmRevision(), - "2.3.10.4.fc18.x86_64"); - assertEquals(new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", true).getRpmRevision(), "1.el6"); - assertEquals(new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "rhev-agent", false).getRpmRevision(), "1.el6"); + "2.3.10.4"); + assertEquals(new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", true).getRpmRevision(), "1"); + assertEquals(new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "rhev-agent", false).getRpmRevision(), "1"); } @Test -- To view, visit http://gerrit.ovirt.org/18348 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iff4cbb294b26472d535328c4a3cdc273255ece1f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches