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

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


The following commit(s) were added to refs/heads/2_0_X by this push:
     new 017248b  [SYNCOPE-1564] Fixing YAML support
017248b is described below

commit 017248b223a1b1a7fb14fed46dc1aa99490aa050
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Mon May 18 14:01:07 2020 +0200

    [SYNCOPE-1564] Fixing YAML support
---
 client/lib/pom.xml                                 |  4 ++
 .../client/lib/SyncopeClientFactoryBean.java       | 44 +++++++++++++++-------
 common/lib/pom.xml                                 |  6 +++
 .../common/lib/to/AbstractAnnotatedBean.java       |  2 +
 .../common/lib/to/AbstractStartEndBean.java        |  2 +
 .../syncope/core/rest/cxf/CheckDomainFilter.java   | 38 +++++++++----------
 ...dObjectMapper.java => SyncopeObjectMapper.java} |  7 ++--
 .../syncope/core/rest/cxf/SyncopeYAMLMapper.java   | 35 +++++++++++++++++
 .../core/rest/cxf/service/AbstractServiceImpl.java |  1 -
 .../rest/cxf/service/AnyObjectServiceImpl.java     |  1 -
 .../rest-cxf/src/main/resources/restCXFContext.xml |  9 +++--
 .../src/main/resources/jboss/restCXFContext.xml    |  9 +++--
 .../org/apache/syncope/fit/AbstractITCase.java     |  6 +++
 .../apache/syncope/fit/core/DynRealmITCase.java    |  5 +--
 .../org/apache/syncope/fit/core/SwaggerITCase.java |  3 +-
 .../apache/syncope/fit/core/WorkflowITCase.java    |  7 ++++
 16 files changed, 130 insertions(+), 49 deletions(-)

diff --git a/client/lib/pom.xml b/client/lib/pom.xml
index 7cee6b4..67fcb83 100644
--- a/client/lib/pom.xml
+++ b/client/lib/pom.xml
@@ -51,6 +51,10 @@ under the License.
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
     </dependency>  
+    <dependency>
+      <groupId>com.fasterxml.jackson.jaxrs</groupId>
+      <artifactId>jackson-jaxrs-yaml-provider</artifactId>
+    </dependency>
     
     <dependency>
       <groupId>commons-codec</groupId>
diff --git 
a/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
 
b/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
index 32f8708..90eb6f1 100644
--- 
a/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
+++ 
b/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
@@ -19,18 +19,19 @@
 package org.apache.syncope.client.lib;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
 import com.fasterxml.jackson.datatype.joda.JodaModule;
 import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import java.util.ArrayList;
+import com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import javax.ws.rs.core.MediaType;
 import javax.xml.bind.Marshaller;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cxf.configuration.jsse.TLSClientParameters;
-import org.apache.cxf.feature.Feature;
 import org.apache.cxf.feature.LoggingFeature;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
 import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
@@ -75,6 +76,8 @@ public class SyncopeClientFactoryBean {
 
     private JAXBElementProvider<?> jaxbProvider;
 
+    private JacksonJaxbYAMLProvider yamlProvider;
+
     private RestClientExceptionMapper exceptionMapper;
 
     private String address;
@@ -92,7 +95,7 @@ public class SyncopeClientFactoryBean {
     protected JacksonJaxbJsonProvider defaultJsonProvider() {
         ObjectMapper objectMapper = new ObjectMapper();
         objectMapper.registerModule(new JodaModule());
-        
objectMapper.configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
 false);
+        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 
false);
         return new JacksonJaxbJsonProvider(objectMapper, 
JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
     }
 
@@ -115,6 +118,13 @@ public class SyncopeClientFactoryBean {
         return defaultJAXBProvider;
     }
 
+    protected JacksonJaxbYAMLProvider defaultYamlProvider() {
+        YAMLMapper yamlMapper = new YAMLMapper();
+        yamlMapper.registerModule(new JodaModule());
+        yamlMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 
false);
+        return new JacksonJaxbYAMLProvider(yamlMapper, 
JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
+    }
+
     protected RestClientExceptionMapper defaultExceptionMapper() {
         return new RestClientExceptionMapper();
     }
@@ -135,16 +145,14 @@ public class SyncopeClientFactoryBean {
         defaultRestClientFactoryBean.setThreadSafe(true);
         defaultRestClientFactoryBean.setInheritHeaders(true);
 
-        List<Feature> features = new ArrayList<>();
-        features.add(new LoggingFeature());
-        defaultRestClientFactoryBean.setFeatures(features);
+        defaultRestClientFactoryBean.setFeatures(Arrays.asList(new 
LoggingFeature()));
 
-        List<Object> providers = new ArrayList<>(4);
-        providers.add(new DateParamConverterProvider());
-        providers.add(getJaxbProvider());
-        providers.add(getJsonProvider());
-        providers.add(getExceptionMapper());
-        defaultRestClientFactoryBean.setProviders(providers);
+        defaultRestClientFactoryBean.setProviders(Arrays.asList(
+                new DateParamConverterProvider(),
+                getJsonProvider(),
+                getJaxbProvider(),
+                getYamlProvider(),
+                getExceptionMapper()));
 
         return defaultRestClientFactoryBean;
     }
@@ -170,6 +178,16 @@ public class SyncopeClientFactoryBean {
         return this;
     }
 
+    public JacksonJaxbYAMLProvider getYamlProvider() {
+        return yamlProvider == null
+                ? defaultYamlProvider()
+                : yamlProvider;
+    }
+
+    public void setYamlProvider(final JacksonJaxbYAMLProvider yamlProvider) {
+        this.yamlProvider = yamlProvider;
+    }
+
     public RestClientExceptionMapper getExceptionMapper() {
         return exceptionMapper == null
                 ? defaultExceptionMapper()
diff --git a/common/lib/pom.xml b/common/lib/pom.xml
index 1ae4009..a4495c2 100644
--- a/common/lib/pom.xml
+++ b/common/lib/pom.xml
@@ -67,6 +67,12 @@ under the License.
     </dependency>
     
     <dependency>
+      <groupId>com.fasterxml.jackson.dataformat</groupId>
+      <artifactId>jackson-dataformat-yaml</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+
+    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
     </dependency>
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractAnnotatedBean.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractAnnotatedBean.java
index 75e454e..36d7baf 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractAnnotatedBean.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractAnnotatedBean.java
@@ -22,6 +22,7 @@ import org.apache.syncope.common.lib.AbstractBaseBean;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.annotations.ApiModelProperty;
 import java.util.Date;
+import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 import org.apache.commons.lang3.StringUtils;
 
@@ -29,6 +30,7 @@ import org.apache.commons.lang3.StringUtils;
  * Abstract wrapper for common system information.
  */
 @XmlType
+@XmlSeeAlso(AnyTO.class)
 public class AbstractAnnotatedBean extends AbstractBaseBean {
 
     private static final long serialVersionUID = -930797879027642457L;
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
index f0a6f1e..92340c7 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
@@ -20,10 +20,12 @@ package org.apache.syncope.common.lib.to;
 
 import io.swagger.annotations.ApiModelProperty;
 import java.util.Date;
+import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 import org.apache.syncope.common.lib.AbstractBaseBean;
 
 @XmlType
+@XmlSeeAlso({ ExecTO.class, ReportTO.class, TaskTO.class })
 public class AbstractStartEndBean extends AbstractBaseBean {
 
     private static final long serialVersionUID = 2399577415544539917L;
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/CheckDomainFilter.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/CheckDomainFilter.java
index f2aabad3..c0bc2f8 100644
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/CheckDomainFilter.java
+++ 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/CheckDomainFilter.java
@@ -53,27 +53,27 @@ public class CheckDomainFilter implements 
ContainerRequestFilter {
 
                 @Override
                 public Void exec() {
-                    if (domainDAO.find(domain) == null) {
-                        String message = "Domain '" + domain + "' not 
available";
+                if (domainDAO.find(domain) == null) {
+                    String message = "Domain '" + domain + "' not available";
 
-                        ErrorTO error = new ErrorTO();
-                        
error.setStatus(Response.Status.NOT_FOUND.getStatusCode());
-                        error.setType(ClientExceptionType.NotFound);
-                        error.getElements().add(message);
+                    ErrorTO error = new ErrorTO();
+                    error.setStatus(Response.Status.NOT_FOUND.getStatusCode());
+                    error.setType(ClientExceptionType.NotFound);
+                    error.getElements().add(message);
 
-                        
reqContext.abortWith(Response.status(Response.Status.NOT_FOUND).
-                                entity(error).
-                                header(HttpHeaders.CONTENT_TYPE,
-                                        
reqContext.getAcceptableMediaTypes().isEmpty()
-                                        ? MediaType.APPLICATION_JSON
-                                        : 
reqContext.getAcceptableMediaTypes().get(0).toString()).
-                                header(RESTHeaders.ERROR_CODE,
-                                        ClientExceptionType.NotFound.name()).
-                                header(RESTHeaders.ERROR_INFO,
-                                        
ClientExceptionType.NotFound.getInfoHeaderValue(message)).
-                                build());
-                    }
-                    return null;
+                    
reqContext.abortWith(Response.status(Response.Status.NOT_FOUND).
+                            entity(error).
+                            header(HttpHeaders.CONTENT_TYPE,
+                                    
reqContext.getAcceptableMediaTypes().isEmpty()
+                                    ? MediaType.APPLICATION_JSON
+                                    : 
reqContext.getAcceptableMediaTypes().get(0).toString()).
+                            header(RESTHeaders.ERROR_CODE,
+                                    ClientExceptionType.NotFound.name()).
+                            header(RESTHeaders.ERROR_INFO,
+                                    
ClientExceptionType.NotFound.getInfoHeaderValue(message)).
+                            build());
+                }
+                return null;
                 }
             });
         }
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/UnwrappedObjectMapper.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeObjectMapper.java
similarity index 93%
rename from 
core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/UnwrappedObjectMapper.java
rename to 
core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeObjectMapper.java
index 31b1dfd..42d121d 100644
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/UnwrappedObjectMapper.java
+++ 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeObjectMapper.java
@@ -21,6 +21,7 @@ package org.apache.syncope.core.rest.cxf;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.datatype.joda.JodaModule;
 import java.io.File;
 import java.io.IOException;
@@ -32,15 +33,15 @@ import java.util.Map;
  * Jackson ObjectMapper that unwraps singleton map values and enable default
  * typing for handling abstract types serialization.
  */
-public class UnwrappedObjectMapper extends ObjectMapper {
+public class SyncopeObjectMapper extends ObjectMapper {
 
     private static final long serialVersionUID = -317191546835195103L;
 
-    public UnwrappedObjectMapper() {
+    public SyncopeObjectMapper() {
         super();
 
         registerModule(new JodaModule());
-        
configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
 false);
+        configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
     }
 
     /**
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeYAMLMapper.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeYAMLMapper.java
new file mode 100644
index 0000000..b9f2ba3
--- /dev/null
+++ 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeYAMLMapper.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.core.rest.cxf;
+
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
+import com.fasterxml.jackson.datatype.joda.JodaModule;
+
+public class SyncopeYAMLMapper extends YAMLMapper {
+
+    private static final long serialVersionUID = 1022020055828974308L;
+
+    public SyncopeYAMLMapper() {
+        super();
+
+        registerModule(new JodaModule());
+        configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+    }
+}
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractServiceImpl.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractServiceImpl.java
index c87d6b7..092cd8c 100644
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractServiceImpl.java
+++ 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractServiceImpl.java
@@ -243,5 +243,4 @@ abstract class AbstractServiceImpl implements JAXRSService {
 
         return result;
     }
-
 }
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceImpl.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceImpl.java
index 3a7d40b..fd2ead6 100644
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceImpl.java
+++ 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceImpl.java
@@ -98,5 +98,4 @@ public class AnyObjectServiceImpl extends 
AbstractAnyService<AnyObjectTO, AnyObj
 
         return super.search(anyQuery);
     }
-
 }
diff --git a/core/rest-cxf/src/main/resources/restCXFContext.xml 
b/core/rest-cxf/src/main/resources/restCXFContext.xml
index 2b38266..45fb5cb 100644
--- a/core/rest-cxf/src/main/resources/restCXFContext.xml
+++ b/core/rest-cxf/src/main/resources/restCXFContext.xml
@@ -60,12 +60,15 @@ under the License.
 
   <bean id="dateParamConverterProvider" 
class="org.apache.syncope.common.rest.api.DateParamConverterProvider"/>
 
-  <bean id="jacksonObjectMapper" 
class="org.apache.syncope.core.rest.cxf.UnwrappedObjectMapper"/>
+  <bean id="syncopeObjectMapper" 
class="org.apache.syncope.core.rest.cxf.SyncopeObjectMapper"/>
   <bean id="jsonProvider" 
class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
-    <property name="mapper" ref="jacksonObjectMapper"/>
+    <property name="mapper" ref="syncopeObjectMapper"/>
   </bean>
 
-  <bean id="yamlProvider" 
class="com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider"/>
+  <bean id="syncopeYAMLMapper" 
class="org.apache.syncope.core.rest.cxf.SyncopeYAMLMapper"/>
+  <bean id="yamlProvider" 
class="com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider">
+    <property name="mapper" ref="syncopeYAMLMapper"/>
+  </bean>
 
   <bean id="exceptionMapper" 
class="org.apache.syncope.core.rest.cxf.RestServiceExceptionMapper"/>
 
diff --git a/fit/core-reference/src/main/resources/jboss/restCXFContext.xml 
b/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
index fdc847d..89fbd19 100644
--- a/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
+++ b/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
@@ -60,12 +60,15 @@ under the License.
 
   <bean id="dateParamConverterProvider" 
class="org.apache.syncope.common.rest.api.DateParamConverterProvider"/>
 
-  <bean id="jacksonObjectMapper" 
class="org.apache.syncope.core.rest.cxf.UnwrappedObjectMapper"/>
+  <bean id="syncopeObjectMapper" 
class="org.apache.syncope.core.rest.cxf.SyncopeObjectMapper"/>
   <bean id="jsonProvider" 
class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
-    <property name="mapper" ref="jacksonObjectMapper"/>
+    <property name="mapper" ref="syncopeObjectMapper"/>
   </bean>
 
-  <bean id="yamlProvider" 
class="com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider"/>
+  <bean id="syncopeYAMLMapper" 
class="org.apache.syncope.core.rest.cxf.SyncopeYAMLMapper"/>
+  <bean id="yamlProvider" 
class="com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider">
+    <property name="mapper" ref="syncopeYAMLMapper"/>
+  </bean>
 
   <bean id="exceptionMapper" 
class="org.apache.syncope.core.rest.cxf.RestServiceExceptionMapper"/>
 
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
index 456c2c0..e31891d 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
@@ -22,6 +22,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
 import java.io.InputStream;
 import java.net.URI;
 import java.util.Locale;
@@ -117,6 +119,10 @@ public abstract class AbstractITCase {
 
     protected static final Logger LOG = 
LoggerFactory.getLogger(AbstractITCase.class);
 
+    protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+
+    protected static final YAMLMapper YAML_MAPPER = new YAMLMapper();
+
     protected static final String ADMIN_UNAME = "admin";
 
     protected static final String ADMIN_PWD = "password";
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
index a84ac5f..60b8ef1 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
@@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.MediaType;
@@ -65,8 +64,6 @@ import org.eclipse.jetty.http.HttpStatus;
 
 public class DynRealmITCase extends AbstractITCase {
 
-    private static final ObjectMapper MAPPER = new ObjectMapper();
-
     @Test
     public void misc() {
         DynRealmTO dynRealm = null;
@@ -261,7 +258,7 @@ public class DynRealmITCase extends AbstractITCase {
                 send();
         assertEquals(HttpStatus.OK_200, response.getStatus());
 
-        return (ArrayNode) MAPPER.readTree(response.getContent()).
+        return (ArrayNode) OBJECT_MAPPER.readTree(response.getContent()).
                 get("hits").get("hits").get(0).get("_source").get("dynRealms");
     }
 
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
index 78c219b..560bd7d 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.IOException;
 import java.io.InputStream;
 import javax.ws.rs.core.MediaType;
@@ -41,7 +40,7 @@ public class SwaggerITCase extends AbstractITCase {
         Response response = webClient.get();
         Assume.assumeTrue(response.getStatus() == 200);
 
-        JsonNode tree = new ObjectMapper().readTree((InputStream) 
response.getEntity());
+        JsonNode tree = OBJECT_MAPPER.readTree((InputStream) 
response.getEntity());
         assertNotNull(tree);
 
         JsonNode info = tree.get("info");
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/WorkflowITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/WorkflowITCase.java
index a600b06..a15d7ba 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/WorkflowITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/WorkflowITCase.java
@@ -29,6 +29,7 @@ import javax.ws.rs.core.Response;
 import org.apache.commons.collections4.IterableUtils;
 import org.apache.commons.collections4.Predicate;
 import org.apache.commons.io.IOUtils;
+import org.apache.syncope.client.lib.SyncopeClientFactoryBean;
 import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
 import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.fit.AbstractITCase;
@@ -43,7 +44,9 @@ public class WorkflowITCase extends AbstractITCase {
 
     @BeforeClass
     public static void findDefault() {
+        Assume.assumeFalse(clientFactory.getContentType() == 
SyncopeClientFactoryBean.ContentType.YAML);
         
Assume.assumeTrue(ActivitiDetector.isActivitiEnabledForUsers(syncopeService));
+
         WorkflowDefinitionTO found = IterableUtils.find(
                 workflowService.list(AnyTypeKind.USER.name()), new 
Predicate<WorkflowDefinitionTO>() {
 
@@ -60,7 +63,9 @@ public class WorkflowITCase extends AbstractITCase {
 
     @Test
     public void exportUserDefinition() throws IOException {
+        Assume.assumeFalse(clientFactory.getContentType() == 
SyncopeClientFactoryBean.ContentType.YAML);
         
Assume.assumeTrue(ActivitiDetector.isActivitiEnabledForUsers(syncopeService));
+
         Response response = workflowService.get(AnyTypeKind.USER.name(), 
defaultUserKey);
         assertTrue(response.getMediaType().toString().
                 
startsWith(clientFactory.getContentType().getMediaType().toString()));
@@ -72,7 +77,9 @@ public class WorkflowITCase extends AbstractITCase {
 
     @Test
     public void updateUserDefinition() throws IOException {
+        Assume.assumeFalse(clientFactory.getContentType() == 
SyncopeClientFactoryBean.ContentType.YAML);
         
Assume.assumeTrue(ActivitiDetector.isActivitiEnabledForUsers(syncopeService));
+
         Response response = workflowService.get(AnyTypeKind.USER.name(), 
defaultUserKey);
         String definition = IOUtils.toString((InputStream) 
response.getEntity(), StandardCharsets.UTF_8);
 

Reply via email to