Roy Golan has uploaded a new change for review.

Change subject: rest: fix Unassigned conversion to UNASSIGNED
......................................................................

rest: fix Unassigned conversion to UNASSIGNED

This fixed the backward compatibility UNASSIGNED OsType value.

Change-Id: Ib55fd00ddfb19aff8bf38d1ca0da923146956ccd
Signed-off-by: Roy Golan <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImpl.java
M 
backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImplTest.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
M packaging/conf/osinfo-defaults.properties
4 files changed, 12 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/16057/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImpl.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImpl.java
index 3be28cf..90aa96e 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImpl.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImpl.java
@@ -19,7 +19,7 @@
     INSTANCE;
 
     private static final String OS_ROOT_NODE = "/os/";
-    private static Pattern firstDigitOrUpperCased = 
Pattern.compile("(\\w[a-z]*+)([A-Z0-9])(.*)");
+    private static Pattern firstDigitOrUpperCased = 
Pattern.compile("(\\w[a-z]*+)([A-Z0-9])*(.*)");
     /**
      * the configuration tree holding all the os data.
      */
@@ -292,7 +292,12 @@
         // underscore position is the first digit or second camel-cased word
         Matcher matcher = firstDigitOrUpperCased.matcher(name);
         if (matcher.matches()) {
-            return (matcher.group(1) + "_" + matcher.group(2) + 
matcher.group(3)).toUpperCase();
+            StringBuilder sb = new StringBuilder();
+            sb.append(matcher.group(1));
+            if (matcher.group(2) != null) {
+                
sb.append("_").append(matcher.group(2)).append(matcher.group(3));
+            }
+            return sb.toString().toUpperCase();
         } else {
             return name;
         }
diff --git 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImplTest.java
 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImplTest.java
index 3a9285d..b1a207a 100644
--- 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImplTest.java
+++ 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/osinfo/OsRepositoryImplTest.java
@@ -138,6 +138,7 @@
 
     @Test
     public void testOsNameUpperCasedAndUnderscored() throws Exception {
+        assertEquals("UNASSIGNED", 
OsRepositoryImpl.INSTANCE.osNameUpperCasedAndUnderscored("Unassigned"));
         assertEquals("RHEL_6", 
OsRepositoryImpl.INSTANCE.osNameUpperCasedAndUnderscored("Rhel6"));
         assertEquals("RHEL_6X64", 
OsRepositoryImpl.INSTANCE.osNameUpperCasedAndUnderscored("rhel6x64"));
         assertEquals("OTHER_LINUX", 
OsRepositoryImpl.INSTANCE.osNameUpperCasedAndUnderscored("OtherLinux"));
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
index 1723d7f..4919613 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
@@ -805,14 +805,14 @@
 
     @Mapping(from = Integer.class, to = OsType.class)
     public static OsType map(int type, Class<OsType> incomingType) {
-        HashMap<Integer, String> osNames = 
SimpleDependecyInjector.getInstance().get(OsRepository.class).getOsNames();
-        String name = osNames.get(type);
+        HashMap<Integer, String> osUniqueNames = 
SimpleDependecyInjector.getInstance().get(OsRepository.class).getUniqueOsNames();
+        String name = osUniqueNames.get(type);
         return 
OsType.valueOf(SimpleDependecyInjector.getInstance().get(OsRepository.class).osNameUpperCasedAndUnderscored(name));
     }
 
     @Mapping(from = OsType.class, to = Integer.class)
     public static int map(OsType type, Class<Integer> incoming) {
-        for (Map.Entry<Integer, String> e : 
SimpleDependecyInjector.getInstance().get(OsRepository.class).getOsNames().entrySet())
 {
+        for (Map.Entry<Integer, String> e : 
SimpleDependecyInjector.getInstance().get(OsRepository.class).getUniqueOsNames().entrySet())
 {
             if (e.getValue().equalsIgnoreCase(type.name().replace("_",""))) {
                 return e.getKey();
             }
diff --git a/packaging/conf/osinfo-defaults.properties 
b/packaging/conf/osinfo-defaults.properties
index 9428bb1..4b46ead 100644
--- a/packaging/conf/osinfo-defaults.properties
+++ b/packaging/conf/osinfo-defaults.properties
@@ -45,6 +45,7 @@
 os.Unassigned.resources.minimum.numberOsCpus.value = 1
 os.Unassigned.spiceSupport.value = true
 
+os.Unassigned_64.id.value = 1000
 os.Unassigned_64.derivedFrom.value = Unassigned
 os.Unassigned_64.bus.value = 64
 os.Unassigned_64.resources.minimum.ram.value = 1024


-- 
To view, visit http://gerrit.ovirt.org/16057
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib55fd00ddfb19aff8bf38d1ca0da923146956ccd
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Roy Golan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to