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

Reply via email to