You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/02/21 15:36:33 UTC

[isis] 05/11: ISIS-1867: refactors MemberExecutionDtoUtils#jaxbContextFor to delegate to JaxbUtil

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

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

commit 2ed6facddcef88882b90df874a22fd96916e1fb6
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 21 14:59:14 2018 +0000

    ISIS-1867: refactors MemberExecutionDtoUtils#jaxbContextFor to delegate to JaxbUtil
---
 .../main/java/org/apache/isis/applib/util/JaxbUtil.java |  2 +-
 .../isis/schema/utils/MemberExecutionDtoUtils.java      | 17 ++---------------
 2 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java b/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
index 5127bf5..f71ccdf 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
@@ -89,7 +89,7 @@ public class JaxbUtil {
 
     private static Map<Class<?>, JAXBContext> jaxbContextByClass = new MapMaker().concurrencyLevel(10).makeMap();
 
-    private static <T> JAXBContext jaxbContextFor(final Class<T> dtoClass)  {
+    public static <T> JAXBContext jaxbContextFor(final Class<T> dtoClass)  {
         JAXBContext jaxbContext = jaxbContextByClass.get(dtoClass);
         if(jaxbContext == null) {
             try {
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/MemberExecutionDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/MemberExecutionDtoUtils.java
index 86eccab..f31ff9c 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/MemberExecutionDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/MemberExecutionDtoUtils.java
@@ -20,7 +20,6 @@ package org.apache.isis.schema.utils;
 
 import java.io.StringReader;
 import java.io.StringWriter;
-import java.util.Map;
 
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
@@ -30,9 +29,8 @@ import javax.xml.bind.Unmarshaller;
 import javax.xml.namespace.QName;
 import javax.xml.transform.stream.StreamSource;
 
-import com.google.common.collect.MapMaker;
-
 import org.apache.isis.applib.internal.base._Casts;
+import org.apache.isis.applib.util.JaxbUtil;
 import org.apache.isis.schema.common.v1.DifferenceDto;
 import org.apache.isis.schema.common.v1.PeriodDto;
 import org.apache.isis.schema.ixn.v1.MemberExecutionDto;
@@ -71,19 +69,8 @@ public final class MemberExecutionDtoUtils {
         }
     }
 
-    private static Map<Class<?>, JAXBContext> jaxbContextByClass = new MapMaker().concurrencyLevel(10).makeMap();
-
     private static <T> JAXBContext jaxbContextFor(final Class<T> dtoClass)  {
-        JAXBContext jaxbContext = jaxbContextByClass.get(dtoClass);
-        if(jaxbContext == null) {
-            try {
-                jaxbContext = JAXBContext.newInstance(dtoClass);
-            } catch (JAXBException e) {
-                throw new RuntimeException(e);
-            }
-            jaxbContextByClass.put(dtoClass, jaxbContext);
-        }
-        return jaxbContext;
+        return JaxbUtil.jaxbContextFor(dtoClass);
     }
 
     public static MetricsDto metricsFor(final MemberExecutionDto executionDto) {

-- 
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.