Michael Kublin has uploaded a new change for review. Change subject: engine: Simplify AuditLogHelper ......................................................................
engine: Simplify AuditLogHelper Replacing hand made code by java standard code. Change-Id: Ibf52160dba842985b6cb1fa66fc08c538b2ead6a Signed-off-by: Michael Kublin <[email protected]> --- M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelper.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelperTest.java 2 files changed, 23 insertions(+), 28 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/13422/1 diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelper.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelper.java index ccec38a..d790b82 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelper.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelper.java @@ -1,32 +1,31 @@ package org.ovirt.engine.core.dal.dbbroker.auditloghandling; -import java.util.ArrayList; -import java.util.List; +import java.util.HashSet; +import java.util.Set; public class AuditLogHelper { - public static List<String> getCustomLogFields(Class<?> type, boolean inherit) { - List<String> returnValue = null; + public static Set<String> getCustomLogFields(Class<?> type, boolean inherit) { + Set<String> returnValue = null; - // Look for inhertied ones + // Look for inherited ones if (inherit) { Class<?>[] interfaces = type.getInterfaces(); Class<?> superClass = type.getSuperclass(); if (superClass != null) { - returnValue = AuditLogHelper.merge(returnValue, getCustomLogFields(superClass, true)); + returnValue = getCustomLogFields(superClass, true); } for (Class<?> clazz : interfaces) { if (!clazz.equals(type)) { - returnValue = AuditLogHelper.merge(returnValue, getCustomLogFields(clazz, true)); + returnValue = merge(returnValue, getCustomLogFields(clazz, true)); } - } } // Add any you find on this class CustomLogField field = (CustomLogField) type.getAnnotation(CustomLogField.class); CustomLogFields fields = (CustomLogFields) type.getAnnotation(CustomLogFields.class); - List<String> myAnnotations = new ArrayList<String>(); + Set<String> myAnnotations = new HashSet<String>(); if (field != null) { myAnnotations.add(field.value().toLowerCase()); } @@ -38,14 +37,10 @@ return merge(returnValue, myAnnotations); } - protected static <T> List<T> merge(List<T> list, List<T> items) { + public static <T> Set<T> merge(Set<T> list, Set<T> items) { if (list != null) { if (items != null) { - for (T item : items) { - if (!list.contains(item)) { - list.add(item); - } - } + list.addAll(items); } } else { return items; diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelperTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelperTest.java index 735f6a7..bdc4252 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelperTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogHelperTest.java @@ -1,37 +1,37 @@ package org.ovirt.engine.core.dal.dbbroker.auditloghandling; -import java.util.List; +import java.util.Set; import junit.framework.TestCase; public class AuditLogHelperTest extends TestCase { public void testSimple() { - List<String> array = AuditLogHelper.getCustomLogFields(BaseClass.class, true); + Set<String> array = AuditLogHelper.getCustomLogFields(BaseClass.class, true); assertEquals("size should be 1", 1, array.size()); array = AuditLogHelper.getCustomLogFields(BaseClass.class, false); assertEquals("Not Inherited size should be 1", 1, array.size()); } public void testSingleChild() { - List<String> array = AuditLogHelper.getCustomLogFields(SingleChild.class, true); + Set<String> array = AuditLogHelper.getCustomLogFields(SingleChild.class, true); assertEquals("size should be 2", 2, array.size()); - assertEquals("Parent Attribute", "jarjar", array.get(0)); - assertEquals("Child Attribute", "binks", array.get(1)); + assertTrue("Parent Attribute", array.contains("jarjar")); + assertTrue("Child Attribute", array.contains("binks")); array = AuditLogHelper.getCustomLogFields(SingleChild.class, false); assertEquals("Not inherited size should be 1", 1, array.size()); - assertEquals("Not Inhertied Child Attribute", "binks", array.get(0)); + assertTrue("Not Inhertied Child Attribute", array.contains("binks")); } public void testMultiChild() { - List<String> array = AuditLogHelper.getCustomLogFields(MultiChild.class, true); + Set<String> array = AuditLogHelper.getCustomLogFields(MultiChild.class, true); assertEquals("size should be 3", 3, array.size()); - assertEquals("Parent Attribute", "jarjar", array.get(0)); - assertEquals("Child Attribute", "luke", array.get(1)); - assertEquals("Child Attribute", "skywalker", array.get(2)); + assertTrue("Parent Attribute", array.contains("jarjar")); + assertTrue("Child Attribute", array.contains("luke")); + assertTrue("Child Attribute", array.contains("skywalker")); array = AuditLogHelper.getCustomLogFields(MultiChild.class, false); assertEquals("Not Inherited size should be 3", 3, array.size()); - assertEquals("Not Inherited Child Attribute", "luke", array.get(0)); - assertEquals("Not Inherited Child Attribute", "skywalker", array.get(1)); - assertEquals("Not Inherited Parent Attribute", "jarjar", array.get(2)); + assertTrue("Not Inherited Child Attribute", array.contains("luke")); + assertTrue("Not Inherited Child Attribute", array.contains("skywalker")); + assertTrue("Not Inherited Parent Attribute", array.contains("jarjar")); } } -- To view, visit http://gerrit.ovirt.org/13422 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf52160dba842985b6cb1fa66fc08c538b2ead6a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Michael Kublin <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
