You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2018/10/11 08:15:54 UTC

[1/2] syncope git commit: [SYNCOPE-1382] improves string check conditions

Repository: syncope
Updated Branches:
  refs/heads/2_0_X dd09c8a20 -> f092044c4


[SYNCOPE-1382] improves string check conditions


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

Branch: refs/heads/2_0_X
Commit: 4242ae52944ae764b1613b83a943c017c95879da
Parents: dd09c8a
Author: fmartelli <fa...@gmail.com>
Authored: Thu Oct 11 10:15:21 2018 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Thu Oct 11 10:15:21 2018 +0200

----------------------------------------------------------------------
 .../syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java       | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/4242ae52/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
index 3dbca69..90e5fd0 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
@@ -680,7 +680,7 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
         boolean ignoreCase = AttributeCond.Type.ILIKE == cond.getType() || AttributeCond.Type.IEQ == cond.getType();
 
         String column = (cond instanceof AnyCond) ? cond.getSchema() : svs.fieldName(schema.getType());
-        if (ignoreCase) {
+        if ((schema.getType() == AttrSchemaType.String || schema.getType() == AttrSchemaType.Enum) && ignoreCase) {
             column = "LOWER (" + column + ")";
         }
         if (!(cond instanceof AnyCond)) {
@@ -731,7 +731,8 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
                 } else {
                     query.append('=');
                 }
-                if (ignoreCase) {
+                if ((schema.getType() == AttrSchemaType.String 
+                        || schema.getType() == AttrSchemaType.Enum) && ignoreCase) {
                     query.append("LOWER(?").append(setParameter(parameters, attrValue.getValue())).append(')');
                 } else {
                     query.append('?').append(setParameter(parameters, attrValue.getValue()));


[2/2] syncope git commit: [SYNCOPE-1383] fixes the class cast exception by using a real SearchResultHandler

Posted by fm...@apache.org.
[SYNCOPE-1383] fixes the class cast exception by using a real SearchResultHandler


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

Branch: refs/heads/2_0_X
Commit: f092044c44cb8fa99f9e6aef5d429e1a9920afea
Parents: 4242ae5
Author: fmartelli <fa...@gmail.com>
Authored: Thu Oct 11 10:15:34 2018 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Thu Oct 11 10:15:34 2018 +0200

----------------------------------------------------------------------
 .../core/provisioning/java/AsyncConnectorFacade.java      | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/f092044c/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/AsyncConnectorFacade.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/AsyncConnectorFacade.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/AsyncConnectorFacade.java
index a655fc4..2ccb078 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/AsyncConnectorFacade.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/AsyncConnectorFacade.java
@@ -28,10 +28,11 @@ import org.identityconnectors.framework.common.objects.ConnectorObject;
 import org.identityconnectors.framework.common.objects.ObjectClass;
 import org.identityconnectors.framework.common.objects.ObjectClassInfo;
 import org.identityconnectors.framework.common.objects.OperationOptions;
-import org.identityconnectors.framework.common.objects.ResultsHandler;
+import org.identityconnectors.framework.common.objects.SearchResult;
 import org.identityconnectors.framework.common.objects.SyncToken;
 import org.identityconnectors.framework.common.objects.Uid;
 import org.identityconnectors.framework.common.objects.filter.FilterBuilder;
+import org.identityconnectors.framework.spi.SearchResultsHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Async;
@@ -104,13 +105,18 @@ public class AsyncConnectorFacade {
             final OperationOptions options) {
 
         final ConnectorObject[] objects = new ConnectorObject[1];
-        connector.search(objectClass, FilterBuilder.equalTo(connObjectKey), new ResultsHandler() {
+        connector.search(objectClass, FilterBuilder.equalTo(connObjectKey), new SearchResultsHandler() {
 
             @Override
             public boolean handle(final ConnectorObject connectorObject) {
                 objects[0] = connectorObject;
                 return false;
             }
+
+            @Override
+            public void handleResult(final SearchResult sr) {
+                // do nothing
+            }
         }, options);
 
         return new AsyncResult<>(objects[0]);