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 2020/05/07 10:48:49 UTC

[syncope] branch master updated (70bc862 -> 05412fb)

This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git.


    from 70bc862  Upgrading Spring Security
     new 2c97d9d  [SYNCOPE-1552] Completing with support for JPA JSON
     new 05412fb  DBMS-related dependency upgrades

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../client/console/rest/LoggerRestClient.java      |  8 +++---
 .../syncope/common/rest/api/beans/AuditQuery.java  | 14 +++++-----
 .../org/apache/syncope/core/logic/LoggerLogic.java | 30 ++++++++++++----------
 .../persistence/jpa/dao/MyJPAJSONLoggerDAO.java    | 22 ++++++++++------
 .../persistence/jpa/dao/PGJPAJSONLoggerDAO.java    | 22 ++++++++++------
 .../src/test/resources/domains/MasterContent.xml   |  2 ++
 .../core/persistence/jpa/DomainConfFactory.java    | 16 +++++-------
 .../syncope/core/persistence/jpa/MasterDomain.java | 27 ++++++++-----------
 .../docker-compose/docker-compose-mariadb.yml      |  2 +-
 fit/core-reference/pom.xml                         |  4 +--
 .../main/resources/application-embedded.properties |  5 ++--
 .../org/apache/syncope/fit/core/AuditITCase.java   | 18 +++++++------
 .../org/apache/syncope/fit/core/LoggerITCase.java  | 29 +++++++++++----------
 pom.xml                                            | 12 ++++-----
 14 files changed, 113 insertions(+), 98 deletions(-)


[syncope] 01/02: [SYNCOPE-1552] Completing with support for JPA JSON

Posted by il...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit 2c97d9d1993f282e5bbed67d9ba78d6243edb011
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu May 7 12:29:35 2020 +0200

    [SYNCOPE-1552] Completing with support for JPA JSON
---
 .../client/console/rest/LoggerRestClient.java      |  8 +++---
 .../syncope/common/rest/api/beans/AuditQuery.java  | 14 +++++-----
 .../org/apache/syncope/core/logic/LoggerLogic.java | 30 ++++++++++++----------
 .../persistence/jpa/dao/MyJPAJSONLoggerDAO.java    | 22 ++++++++++------
 .../persistence/jpa/dao/PGJPAJSONLoggerDAO.java    | 22 ++++++++++------
 .../src/test/resources/domains/MasterContent.xml   |  2 ++
 .../core/persistence/jpa/DomainConfFactory.java    | 16 +++++-------
 .../syncope/core/persistence/jpa/MasterDomain.java | 27 ++++++++-----------
 .../main/resources/application-embedded.properties |  5 ++--
 .../org/apache/syncope/fit/core/AuditITCase.java   | 18 +++++++------
 .../org/apache/syncope/fit/core/LoggerITCase.java  | 29 +++++++++++----------
 11 files changed, 104 insertions(+), 89 deletions(-)

diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/LoggerRestClient.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/LoggerRestClient.java
index aefccb9..6ec8c85 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/LoggerRestClient.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/LoggerRestClient.java
@@ -57,7 +57,7 @@ public class LoggerRestClient extends BaseRestClient {
 
         return result;
     }
-    
+
     public static List<LoggerTO> listLogs() {
         List<LoggerTO> logs = getService(LoggerService.class).list(LoggerType.LOG);
         logs.sort(Comparator.comparing(LoggerTO::getKey));
@@ -119,7 +119,8 @@ public class LoggerRestClient extends BaseRestClient {
             final AuditElements.Result result,
             final SortParam<String> sort) {
 
-        AuditQuery query = new AuditQuery.Builder(key).
+        AuditQuery query = new AuditQuery.Builder().
+                entityKey(key).
                 size(size).
                 page(page).
                 type(type).
@@ -139,7 +140,8 @@ public class LoggerRestClient extends BaseRestClient {
             final List<String> events,
             final AuditElements.Result result) {
 
-        AuditQuery query = new AuditQuery.Builder(key).
+        AuditQuery query = new AuditQuery.Builder().
+                entityKey(key).
                 page(1).
                 size(1).
                 type(type).
diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AuditQuery.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AuditQuery.java
index 5992024..ab5fa65 100644
--- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AuditQuery.java
+++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AuditQuery.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.common.rest.api.beans;
 
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.enums.ParameterIn;
 import io.swagger.v3.oas.annotations.media.ArraySchema;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.util.ArrayList;
@@ -34,16 +35,16 @@ public class AuditQuery extends AbstractQuery {
 
     public static class Builder extends AbstractQuery.Builder<AuditQuery, Builder> {
 
-        public Builder(final String entityKey) {
-            super();
-            getInstance().setEntityKey(entityKey);
-        }
-
         @Override
         protected AuditQuery newInstance() {
             return new AuditQuery();
         }
 
+        public Builder entityKey(final String entityKey) {
+            getInstance().setEntityKey(entityKey);
+            return this;
+        }
+
         public Builder type(final AuditElements.EventCategoryType type) {
             getInstance().setType(type);
             return this;
@@ -87,7 +88,8 @@ public class AuditQuery extends AbstractQuery {
 
     private AuditElements.Result result;
 
-    @Parameter(name = JAXRSService.PARAM_ENTITY_KEY, description = "audit entity key to match", schema =
+    @Parameter(name = JAXRSService.PARAM_ENTITY_KEY, in = ParameterIn.QUERY,
+            description = "audit entity key to match", schema =
             @Schema(implementation = String.class, example = "50592942-73ec-44c4-a377-e859524245e4"))
     public String getEntityKey() {
         return entityKey;
diff --git a/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java b/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
index c450ce5..67157f1 100644
--- a/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
+++ b/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
@@ -101,7 +101,7 @@ public class LoggerLogic extends AbstractTransactionalLogic<EntityTO> {
 
     @Autowired
     private AuditManager auditManager;
-    
+
     @PreAuthorize("hasRole('" + IdRepoEntitlement.LOG_LIST + "') and authentication.details.domain == "
             + "T(org.apache.syncope.common.lib.SyncopeConstants).MASTER_DOMAIN")
     @Transactional(readOnly = true)
@@ -421,22 +421,24 @@ public class LoggerLogic extends AbstractTransactionalLogic<EntityTO> {
 
     @PreAuthorize("hasRole('" + IdRepoEntitlement.AUDIT_CREATE + "')")
     public void create(final AuditEntry auditEntry) {
-        boolean auditRequested = auditManager.auditRequested(auditEntry.getWho(),
-            auditEntry.getLogger().getType(),
-            auditEntry.getLogger().getCategory(),
-            auditEntry.getLogger().getSubcategory(),
-            auditEntry.getLogger().getEvent());
-
-        if (auditRequested) {
-            auditManager.audit(auditEntry.getWho(),
+        boolean auditRequested = auditManager.auditRequested(
+                auditEntry.getWho(),
                 auditEntry.getLogger().getType(),
                 auditEntry.getLogger().getCategory(),
                 auditEntry.getLogger().getSubcategory(),
-                auditEntry.getLogger().getEvent(),
-                auditEntry.getLogger().getResult(),
-                auditEntry.getBefore(),
-                auditEntry.getOutput(),
-                auditEntry.getInputs());
+                auditEntry.getLogger().getEvent());
+
+        if (auditRequested) {
+            auditManager.audit(
+                    auditEntry.getWho(),
+                    auditEntry.getLogger().getType(),
+                    auditEntry.getLogger().getCategory(),
+                    auditEntry.getLogger().getSubcategory(),
+                    auditEntry.getLogger().getEvent(),
+                    auditEntry.getLogger().getResult(),
+                    auditEntry.getBefore(),
+                    auditEntry.getOutput(),
+                    auditEntry.getInputs());
         }
     }
 
diff --git a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONLoggerDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONLoggerDAO.java
index bbffaed..cd9be15 100644
--- a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONLoggerDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/MyJPAJSONLoggerDAO.java
@@ -29,17 +29,23 @@ public class MyJPAJSONLoggerDAO extends AbstractJPAJSONLoggerDAO {
 
         @Override
         protected String doBuild(final List<ObjectNode> containers) {
-            query.append('(').append(AUDIT_MESSAGE_COLUMN).append(" -> '$.before' LIKE '%").append(entityKey).
-                    append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append(" -> '$.input' LIKE '%").append(entityKey).
-                    append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append(" -> '$.output' LIKE '%").append(entityKey).
-                    append("%')");
+            if (entityKey != null) {
+                query.append('(').append(AUDIT_MESSAGE_COLUMN).append("->'$.before' LIKE '%").append(entityKey).
+                        append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append("->'$.input' LIKE '%").append(entityKey).
+                        append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append("->'$.output' LIKE '%").append(entityKey).
+                        append("%')");
+            }
 
             if (!containers.isEmpty()) {
-                query.append(" AND (").
-                        append(containers.stream().map(container -> "JSON_CONTAINS(" + AUDIT_MESSAGE_COLUMN + ", '"
+                if (entityKey != null) {
+                    query.append(" AND (");
+                }
+                query.append(containers.stream().map(container -> "JSON_CONTAINS(" + AUDIT_MESSAGE_COLUMN + ", '"
                         + POJOHelper.serialize(container).replace("'", "''")
-                        + "')").collect(Collectors.joining(" OR "))).
-                        append(')');
+                        + "')").collect(Collectors.joining(" OR ")));
+                if (entityKey != null) {
+                    query.append(')');
+                }
             }
 
             return query.toString();
diff --git a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONLoggerDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONLoggerDAO.java
index c9ee797..7663f7e 100644
--- a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONLoggerDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONLoggerDAO.java
@@ -30,17 +30,23 @@ public class PGJPAJSONLoggerDAO extends AbstractJPAJSONLoggerDAO {
 
         @Override
         protected String doBuild(final List<ObjectNode> containers) {
-            query.append('(').append(AUDIT_MESSAGE_COLUMN).append(" ->> 'before' LIKE '%").append(entityKey).
-                    append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append(" ->> 'input' LIKE '%").append(entityKey).
-                    append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append(" ->> 'output' LIKE '%").append(entityKey).
-                    append("%')");
+            if (entityKey != null) {
+                query.append('(').append(AUDIT_MESSAGE_COLUMN).append(" ->> 'before' LIKE '%").append(entityKey).
+                        append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append(" ->> 'input' LIKE '%").append(entityKey).
+                        append("%' OR ").append(AUDIT_MESSAGE_COLUMN).append(" ->> 'output' LIKE '%").append(entityKey).
+                        append("%')");
+            }
 
             if (!containers.isEmpty()) {
-                query.append(" AND (").
-                        append(containers.stream().map(container -> AUDIT_MESSAGE_COLUMN + " @> '"
+                if (entityKey != null) {
+                    query.append(" AND (");
+                }
+                query.append(containers.stream().map(container -> AUDIT_MESSAGE_COLUMN + " @> '"
                         + POJOHelper.serialize(container).replace("'", "''")
-                        + "'::jsonb").collect(Collectors.joining(" OR "))).
-                        append(')');
+                        + "'::jsonb").collect(Collectors.joining(" OR ")));
+                if (entityKey != null) {
+                    query.append(')');
+                }
             }
 
             return query.toString();
diff --git a/core/persistence-jpa-json/src/test/resources/domains/MasterContent.xml b/core/persistence-jpa-json/src/test/resources/domains/MasterContent.xml
index 4388d1c..1683d0b 100644
--- a/core/persistence-jpa-json/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa-json/src/test/resources/domains/MasterContent.xml
@@ -2382,6 +2382,8 @@ $$ }&#10;
 
   <SyncopeLogger logType="AUDIT" logName="syncope.audit.[LOGIC]:[SyncopeLogic]:[]:[isSelfRegAllowed]:[SUCCESS]" logLevel="DEBUG"/>
 
+  <SyncopeLogger logType="AUDIT" logName="syncope.audit.[WA]:[LoggerLogic]:[AUTHENTICATION]:[validate]:[SUCCESS]" logLevel="DEBUG"/>
+
   <SyncopeLogger logType="AUDIT" logName="syncope.audit.[LOGIC]:[ConnectorLogic]:[]:[create]:[SUCCESS]" logLevel="DEBUG"/>
   <SyncopeLogger logType="AUDIT" logName="syncope.audit.[LOGIC]:[ConnectorLogic]:[]:[update]:[SUCCESS]" logLevel="DEBUG"/>
 
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/DomainConfFactory.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/DomainConfFactory.java
index 117ad84..a596eeb 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/DomainConfFactory.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/DomainConfFactory.java
@@ -24,12 +24,14 @@ import java.io.ByteArrayInputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.Map;
 import java.util.Objects;
-
 import javax.persistence.EntityManagerFactory;
 import javax.sql.DataSource;
 import org.apache.syncope.common.keymaster.client.api.model.Domain;
+import org.apache.syncope.core.persistence.api.DomainRegistry;
 import org.apache.syncope.core.persistence.jpa.spring.DomainEntityManagerFactoryBean;
 import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.AbstractBeanDefinition;
@@ -44,9 +46,6 @@ import org.springframework.jndi.JndiObjectFactoryBean;
 import org.springframework.orm.jpa.JpaTransactionManager;
 import org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter;
 import org.springframework.stereotype.Component;
-import org.apache.syncope.core.persistence.api.DomainRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @Component
 public class DomainConfFactory implements DomainRegistry, EnvironmentAware {
@@ -84,7 +83,6 @@ public class DomainConfFactory implements DomainRegistry, EnvironmentAware {
 
     @Override
     public void register(final Domain domain) {
-        // localDomainDataSource
         HikariConfig hikariConfig = new HikariConfig();
         hikariConfig.setDriverClassName(domain.getJdbcDriver());
         hikariConfig.setJdbcUrl(domain.getJdbcURL());
@@ -95,14 +93,12 @@ public class DomainConfFactory implements DomainRegistry, EnvironmentAware {
         hikariConfig.setMaximumPoolSize(domain.getPoolMaxActive());
         hikariConfig.setMinimumIdle(domain.getPoolMinIdle());
 
-        HikariDataSource localDomainDataSource = new HikariDataSource(hikariConfig);
-
         // domainDataSource
         registerBeanDefinition(
                 domain.getKey() + "DataSource",
                 BeanDefinitionBuilder.rootBeanDefinition(JndiObjectFactoryBean.class).
                         addPropertyValue("jndiName", "java:comp/env/jdbc/syncope" + domain.getKey() + "DataSource").
-                        addPropertyValue("defaultObject", localDomainDataSource).
+                        addPropertyValue("defaultObject", new HikariDataSource(hikariConfig)).
                         getBeanDefinition());
         DataSource initedDataSource = ApplicationContextProvider.getBeanFactory().
                 getBean(domain.getKey() + "DataSource", DataSource.class);
@@ -137,8 +133,8 @@ public class DomainConfFactory implements DomainRegistry, EnvironmentAware {
         if (env.containsProperty("openjpaMetaDataFactory")) {
             emf.addPropertyValue("jpaPropertyMap", Map.of(
                     "openjpa.MetaDataFactory",
-                    Objects.requireNonNull(env.getProperty("openjpaMetaDataFactory"))
-                        .replace("##orm##", domain.getOrm())));
+                    Objects.requireNonNull(env.getProperty("openjpaMetaDataFactory")).
+                            replace("##orm##", domain.getOrm())));
         }
         registerBeanDefinition(domain.getKey() + "EntityManagerFactory", emf.getBeanDefinition());
         ApplicationContextProvider.getBeanFactory().getBean(domain.getKey() + "EntityManagerFactory");
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/MasterDomain.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/MasterDomain.java
index aeb8c7b..954386e 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/MasterDomain.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/MasterDomain.java
@@ -59,7 +59,7 @@ public class MasterDomain {
 
     @Autowired
     private Environment env;
-    
+
     @Value("${Master.driverClassName}")
     private String driverClassName;
 
@@ -96,9 +96,9 @@ public class MasterDomain {
     @Value("${content.directory}")
     private String contentDirectory;
 
-    @Bean
-    @ConditionalOnMissingBean(name = "localMasterDataSource")
-    public DataSource localMasterDataSource() {
+    @Bean(name = "MasterDataSource")
+    @ConditionalOnMissingBean(name = "MasterDataSource")
+    public JndiObjectFactoryBean masterDataSource() {
         HikariConfig hikariConfig = new HikariConfig();
         hikariConfig.setDriverClassName(driverClassName);
         hikariConfig.setJdbcUrl(url);
@@ -107,15 +107,10 @@ public class MasterDomain {
         hikariConfig.setTransactionIsolation(transactionIsolation);
         hikariConfig.setMaximumPoolSize(maximumPoolSize);
         hikariConfig.setMinimumIdle(minimumIdle);
-        return new HikariDataSource(hikariConfig);
-    }
 
-    @Bean(name = "MasterDataSource")
-    @ConditionalOnMissingBean(name = "MasterDataSource")
-    public JndiObjectFactoryBean masterDataSource() {
         JndiObjectFactoryBean masterDataSource = new JndiObjectFactoryBean();
         masterDataSource.setJndiName("java:comp/env/jdbc/syncopeMasterDataSource");
-        masterDataSource.setDefaultObject(localMasterDataSource());
+        masterDataSource.setDefaultObject(new HikariDataSource(hikariConfig));
         return masterDataSource;
     }
 
@@ -151,21 +146,21 @@ public class MasterDomain {
         DomainEntityManagerFactoryBean masterEntityManagerFactory = new DomainEntityManagerFactoryBean();
         masterEntityManagerFactory.setMappingResources(orm);
         masterEntityManagerFactory.setPersistenceUnitName("Master");
-        
+
         masterEntityManagerFactory.setDataSource(Objects.requireNonNull((DataSource) masterDataSource().getObject()));
         masterEntityManagerFactory.setJpaVendorAdapter(vendorAdapter);
         masterEntityManagerFactory.setCommonEntityManagerFactoryConf(commonEMFConf);
 
         if (env.containsProperty("openjpaMetaDataFactory")) {
             masterEntityManagerFactory.setJpaPropertyMap(Map.of(
-                "openjpa.MetaDataFactory",
-                Objects.requireNonNull(env.getProperty("openjpaMetaDataFactory")).replace("##orm##", orm)));
+                    "openjpa.MetaDataFactory",
+                    Objects.requireNonNull(env.getProperty("openjpaMetaDataFactory")).replace("##orm##", orm)));
         }
 
         return masterEntityManagerFactory;
     }
 
-    @Bean(name = {"MasterTransactionManager", "Master"})
+    @Bean(name = { "MasterTransactionManager", "Master" })
     @ConditionalOnMissingBean(name = "MasterTransactionManager")
     public PlatformTransactionManager transactionManager() {
         return new JpaTransactionManager(Objects.requireNonNull(masterEntityManagerFactory().getObject()));
@@ -184,7 +179,7 @@ public class MasterDomain {
     @ConditionalOnMissingBean(name = "MasterContentXML")
     public InputStream masterContentXML() throws IOException {
         ResourceWithFallbackLoader masterContentXML =
-            ctx.getBeanFactory().createBean(ResourceWithFallbackLoader.class);
+                ctx.getBeanFactory().createBean(ResourceWithFallbackLoader.class);
         masterContentXML.setPrimary("file:" + contentDirectory + "/domains/MasterContent.xml");
         masterContentXML.setFallback("classpath:domains/MasterContent.xml");
         return masterContentXML.getResource().getInputStream();
@@ -194,7 +189,7 @@ public class MasterDomain {
     @ConditionalOnMissingBean(name = "MasterKeymasterConfParamsJSON")
     public InputStream masterKeymasterConfParamsJSON() throws IOException {
         ResourceWithFallbackLoader keymasterConfParamsJSON =
-            ctx.getBeanFactory().createBean(ResourceWithFallbackLoader.class);
+                ctx.getBeanFactory().createBean(ResourceWithFallbackLoader.class);
         keymasterConfParamsJSON.setPrimary("file:" + contentDirectory + "/domains/MasterKeymasterConfParams.json");
         keymasterConfParamsJSON.setFallback("classpath:domains/MasterKeymasterConfParams.json");
         return keymasterConfParamsJSON.getResource().getInputStream();
diff --git a/fit/core-reference/src/main/resources/application-embedded.properties b/fit/core-reference/src/main/resources/application-embedded.properties
index b13cc44..c96481a 100644
--- a/fit/core-reference/src/main/resources/application-embedded.properties
+++ b/fit/core-reference/src/main/resources/application-embedded.properties
@@ -20,8 +20,9 @@ spring.devtools.livereload.enabled=false
 spring.devtools.restart.enabled=false
 
 # H2
-#spring.h2.console.enabled=true
-#spring.h2.console.path=/h2
+spring.h2.console.enabled=true
+spring.h2.console.path=/h2
+
 # Datasource
 spring.datasource.url=jdbc:h2:mem:syncopedb;DB_CLOSE_DELAY=-1
 spring.datasource.username=sa
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java
index 7aa36ab..3fb543b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuditITCase.java
@@ -77,7 +77,7 @@ public class AuditITCase extends AbstractITCase {
         UserTO userTO = createUser(UserITCase.getUniqueSample("audit@syncope.org")).getEntity();
         assertNotNull(userTO.getKey());
 
-        AuditQuery query = new AuditQuery.Builder(userTO.getKey()).build();
+        AuditQuery query = new AuditQuery.Builder().entityKey(userTO.getKey()).build();
         List<AuditEntry> entries = query(query, MAX_WAIT_SECONDS);
         assertEquals(1, entries.size());
 
@@ -98,7 +98,7 @@ public class AuditITCase extends AbstractITCase {
         UserTO userTO = createUser(UserITCase.getUniqueSample("audit@syncope.org")).getEntity();
         assertNotNull(userTO.getKey());
 
-        AuditQuery query = new AuditQuery.Builder(userTO.getKey()).orderBy("event_date desc").
+        AuditQuery query = new AuditQuery.Builder().entityKey(userTO.getKey()).orderBy("event_date desc").
                 page(1).size(1).build();
         AuditEntry entry = query(query, MAX_WAIT_SECONDS, true);
         assertNotNull(entry);
@@ -110,7 +110,8 @@ public class AuditITCase extends AbstractITCase {
         UserTO userTO = createUser(UserITCase.getUniqueSample("audit-2@syncope.org")).getEntity();
         assertNotNull(userTO.getKey());
 
-        AuditQuery query = new AuditQuery.Builder(userTO.getKey()).
+        AuditQuery query = new AuditQuery.Builder().
+                entityKey(userTO.getKey()).
                 orderBy("event_date desc").
                 page(1).
                 size(1).
@@ -129,7 +130,7 @@ public class AuditITCase extends AbstractITCase {
         GroupTO groupTO = createGroup(GroupITCase.getBasicSample("AuditGroup")).getEntity();
         assertNotNull(groupTO.getKey());
 
-        AuditQuery query = new AuditQuery.Builder(groupTO.getKey()).orderBy("event_date desc").
+        AuditQuery query = new AuditQuery.Builder().entityKey(groupTO.getKey()).orderBy("event_date desc").
                 page(1).size(1).build();
         AuditEntry entry = query(query, MAX_WAIT_SECONDS, true);
         assertNotNull(entry);
@@ -141,7 +142,7 @@ public class AuditITCase extends AbstractITCase {
         GroupTO groupTO = createGroup(GroupITCase.getBasicSample("AuditGroupSearch")).getEntity();
         assertNotNull(groupTO.getKey());
 
-        AuditQuery query = new AuditQuery.Builder(groupTO.getKey()).build();
+        AuditQuery query = new AuditQuery.Builder().entityKey(groupTO.getKey()).build();
         List<AuditEntry> entries = query(query, MAX_WAIT_SECONDS);
         assertEquals(1, entries.size());
 
@@ -161,7 +162,7 @@ public class AuditITCase extends AbstractITCase {
     public void findByAnyObject() {
         AnyObjectTO anyObjectTO = createAnyObject(AnyObjectITCase.getSample("Italy")).getEntity();
         assertNotNull(anyObjectTO.getKey());
-        AuditQuery query = new AuditQuery.Builder(anyObjectTO.getKey()).orderBy("event_date desc").
+        AuditQuery query = new AuditQuery.Builder().entityKey(anyObjectTO.getKey()).orderBy("event_date desc").
                 page(1).size(1).build();
         AuditEntry entry = query(query, MAX_WAIT_SECONDS, true);
         assertNotNull(entry);
@@ -173,7 +174,7 @@ public class AuditITCase extends AbstractITCase {
         AnyObjectTO anyObjectTO = createAnyObject(AnyObjectITCase.getSample("USA")).getEntity();
         assertNotNull(anyObjectTO);
 
-        AuditQuery query = new AuditQuery.Builder(anyObjectTO.getKey()).build();
+        AuditQuery query = new AuditQuery.Builder().entityKey(anyObjectTO.getKey()).build();
         List<AuditEntry> entries = query(query, MAX_WAIT_SECONDS);
         assertEquals(1, entries.size());
 
@@ -192,7 +193,8 @@ public class AuditITCase extends AbstractITCase {
     public void findByConnector() throws JsonProcessingException {
         String connectorKey = "74141a3b-0762-4720-a4aa-fc3e374ef3ef";
 
-        AuditQuery query = new AuditQuery.Builder(connectorKey).
+        AuditQuery query = new AuditQuery.Builder().
+                entityKey(connectorKey).
                 orderBy("event_date desc").
                 type(AuditElements.EventCategoryType.LOGIC).
                 category("ConnectorLogic").
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
index fea40c9..960da37 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
@@ -38,7 +38,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Properties;
 import java.util.UUID;
-
 import javax.ws.rs.core.Response;
 import javax.xml.ws.WebServiceException;
 import org.apache.commons.lang3.StringUtils;
@@ -276,25 +275,27 @@ public class LoggerITCase extends AbstractITCase {
 
     @Test
     public void saveAuditEvent() {
-        AuditLoggerName logger = new AuditLoggerName(EventCategoryType.WA, "LoggerLogic",
-            AuditElements.AUTHENTICATION_CATEGORY.toUpperCase(), "validate",
-            AuditElements.Result.SUCCESS);
         AuditEntry auditEntry = new AuditEntry();
-        String who = "syncope-user " + UUID.randomUUID().toString();
-        auditEntry.setWho(who);
-        auditEntry.setLogger(logger);
+        auditEntry.setWho("syncope-user " + UUID.randomUUID().toString());
+        auditEntry.setLogger(new AuditLoggerName(
+                EventCategoryType.WA,
+                "LoggerLogic",
+                AuditElements.AUTHENTICATION_CATEGORY.toUpperCase(),
+                "validate",
+                AuditElements.Result.SUCCESS));
         auditEntry.setDate(new Date());
         auditEntry.setBefore(UUID.randomUUID().toString());
         auditEntry.setOutput(UUID.randomUUID().toString());
         assertDoesNotThrow(() -> loggerService.create(auditEntry));
 
-        AuditQuery query = new AuditQuery();
-        query.setSize(1);
-        query.setType(auditEntry.getLogger().getType());
-        query.setResult(auditEntry.getLogger().getResult());
-        query.setCategory(auditEntry.getLogger().getCategory());
-        query.setEvents(List.of(auditEntry.getLogger().getEvent()));
-        PagedResult<AuditEntry> events = loggerService.search(query);
+        PagedResult<AuditEntry> events = loggerService.search(new AuditQuery.Builder().
+                size(1).
+                type(auditEntry.getLogger().getType()).
+                category(auditEntry.getLogger().getCategory()).
+                subcategory(auditEntry.getLogger().getSubcategory()).
+                event(auditEntry.getLogger().getEvent()).
+                result(auditEntry.getLogger().getResult()).
+                build());
         assertNotNull(events);
         assertEquals(1, events.getSize());
     }


[syncope] 02/02: DBMS-related dependency upgrades

Posted by il...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit 05412fb7cdb38eaf308ef36b2635e383f46c5ebc
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu May 7 12:48:36 2020 +0200

    DBMS-related dependency upgrades
---
 .../main/resources/docker-compose/docker-compose-mariadb.yml |  2 +-
 fit/core-reference/pom.xml                                   |  4 ++--
 pom.xml                                                      | 12 ++++++------
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml b/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml
index 9af6bb0..4f353e0 100644
--- a/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml
+++ b/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml
@@ -21,7 +21,7 @@ version: '3.3'
 
 services:
    db:
-     image: mariadb:10.4
+     image: mariadb:10.5
      restart: always
      environment:
        MYSQL_ROOT_PASSWORD: password
diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml
index 3273122..6020de0 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -1249,14 +1249,14 @@ under the License.
       <id>oracle-it</id>
       
       <properties>
-        <jdbcdriver.groupId>com.oracle.ojdbc</jdbcdriver.groupId>
+        <jdbcdriver.groupId>com.oracle.database.jdbc</jdbcdriver.groupId>
         <jdbcdriver.artifactId>ojdbc10</jdbcdriver.artifactId>
         <cargo.deployable.ping.timeout>120000</cargo.deployable.ping.timeout>
       </properties>
 
       <dependencies>
         <dependency>
-          <groupId>com.oracle.ojdbc</groupId>
+          <groupId>com.oracle.database.jdbc</groupId>
           <artifactId>ojdbc10</artifactId>
           <version>${jdbc.oracle.version}</version>
           <scope>test</scope>
diff --git a/pom.xml b/pom.xml
index ab37ec4..cd854fe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -515,14 +515,14 @@ under the License.
     <javax.faces.version>2.3.14</javax.faces.version>
 
     <docker.postgresql.version>12</docker.postgresql.version>
-    <docker.mysql.version>8.0.19</docker.mysql.version>
+    <docker.mysql.version>8.0</docker.mysql.version>
     <docker.mariadb.version>10.5</docker.mariadb.version>
 
-    <jdbc.postgresql.version>42.2.10</jdbc.postgresql.version>
-    <jdbc.mysql.version>8.0.19</jdbc.mysql.version>
-    <jdbc.mariadb.version>2.5.4</jdbc.mariadb.version>
-    <jdbc.mssql.version>8.2.0.jre</jdbc.mssql.version>
-    <jdbc.oracle.version>19.3.0.0</jdbc.oracle.version>
+    <jdbc.postgresql.version>42.2.12</jdbc.postgresql.version>
+    <jdbc.mysql.version>8.0.20</jdbc.mysql.version>
+    <jdbc.mariadb.version>2.6.0</jdbc.mariadb.version>
+    <jdbc.mssql.version>8.2.2.jre</jdbc.mssql.version>
+    <jdbc.oracle.version>19.6.0.0</jdbc.oracle.version>
 
     <conf.directory>${project.build.directory}/test-classes</conf.directory>
     <bundles.directory>${project.build.directory}/bundles</bundles.directory>