You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/11/28 12:41:01 UTC

syncope git commit: [SYNCOPE-976] Checking for duplicates before insertion

Repository: syncope
Updated Branches:
  refs/heads/1_2_X e2aee0758 -> 61f1c494f


[SYNCOPE-976] Checking for duplicates before insertion


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/61f1c494
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/61f1c494
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/61f1c494

Branch: refs/heads/1_2_X
Commit: 61f1c494f2954aa9c234a5c8536cc3e3944acdfc
Parents: e2aee07
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Mon Nov 28 13:40:54 2016 +0100
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Mon Nov 28 13:40:54 2016 +0100

----------------------------------------------------------------------
 .../core/rest/controller/LoggerController.java  |  9 ++++++---
 .../syncope/core/rest/LoggerTestITCase.java     | 21 +++++++++++++++++++-
 2 files changed, 26 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/61f1c494/core/src/main/java/org/apache/syncope/core/rest/controller/LoggerController.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/syncope/core/rest/controller/LoggerController.java b/core/src/main/java/org/apache/syncope/core/rest/controller/LoggerController.java
index d077cd1..9cedab7 100644
--- a/core/src/main/java/org/apache/syncope/core/rest/controller/LoggerController.java
+++ b/core/src/main/java/org/apache/syncope/core/rest/controller/LoggerController.java
@@ -238,8 +238,8 @@ public class LoggerController extends AbstractTransactionalController<LoggerTO>
 
         try {
             final ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
-            final MetadataReaderFactory metadataReaderFactory
-                    = new CachingMetadataReaderFactory(resourcePatternResolver);
+            final MetadataReaderFactory metadataReaderFactory =
+                    new CachingMetadataReaderFactory(resourcePatternResolver);
 
             final String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                     + ClassUtils.convertClassNameToResourcePath(
@@ -257,10 +257,13 @@ public class LoggerController extends AbstractTransactionalController<LoggerTO>
                         final EventCategoryTO eventCategoryTO = new EventCategoryTO();
                         eventCategoryTO.setCategory(clazz.getSimpleName());
                         for (Method method : clazz.getDeclaredMethods()) {
-                            if (Modifier.isPublic(method.getModifiers())) {
+                            if (Modifier.isPublic(method.getModifiers())
+                                    && !eventCategoryTO.getEvents().contains(method.getName())) {
+
                                 eventCategoryTO.getEvents().add(method.getName());
                             }
                         }
+
                         events.add(eventCategoryTO);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/61f1c494/core/src/test/java/org/apache/syncope/core/rest/LoggerTestITCase.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/syncope/core/rest/LoggerTestITCase.java b/core/src/test/java/org/apache/syncope/core/rest/LoggerTestITCase.java
index 025dc25..139b2f9 100644
--- a/core/src/test/java/org/apache/syncope/core/rest/LoggerTestITCase.java
+++ b/core/src/test/java/org/apache/syncope/core/rest/LoggerTestITCase.java
@@ -28,6 +28,8 @@ import java.text.ParseException;
 import java.util.List;
 import javax.ws.rs.core.Response;
 import javax.xml.ws.WebServiceException;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
 import org.apache.syncope.common.SyncopeClientException;
 import org.apache.syncope.common.to.EventCategoryTO;
 import org.apache.syncope.common.to.LoggerTO;
@@ -216,7 +218,7 @@ public class LoggerTestITCase extends AbstractTest {
         }
         assertTrue(found);
     }
-    
+
     @Test
     public void issueSYNCOPE708() {
         try {
@@ -228,4 +230,21 @@ public class LoggerTestITCase extends AbstractTest {
             assertEquals(Response.Status.NOT_FOUND, ex.getType().getResponseStatus());
         }
     }
+
+    @Test
+    public void issueSYNCOPE976() {
+        List<EventCategoryTO> events = loggerService.events();
+        assertNotNull(events);
+
+        EventCategoryTO userController = (EventCategoryTO) CollectionUtils.find(events, new Predicate() {
+
+            @Override
+            public boolean evaluate(final Object object) {
+                return object instanceof EventCategoryTO
+                        && "UserController".equals(((EventCategoryTO) object).getCategory());
+            }
+        });
+        assertNotNull(userController);
+        assertEquals(1, CollectionUtils.cardinality("create", userController.getEvents()));
+    }
 }