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

Reply via email to