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
