From 09b4f6cee781c29be8fc66d847691a1f1d615587 Mon Sep 17 00:00:00 2001 From: dkayiwa <dkayiwa@openmrs.org> Date: Fri, 30 Aug 2024 16:18:42 +0300 Subject: [PATCH] TRUNK-6188 fix failing tests --- .../serializer/ReportingSerializer.java | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/api/src/main/java/org/openmrs/module/reporting/serializer/ReportingSerializer.java b/api/src/main/java/org/openmrs/module/reporting/serializer/ReportingSerializer.java index 981383811..da4e3e7bb 100644 --- a/api/src/main/java/org/openmrs/module/reporting/serializer/ReportingSerializer.java +++ b/api/src/main/java/org/openmrs/module/reporting/serializer/ReportingSerializer.java @@ -9,15 +9,12 @@ */ package org.openmrs.module.reporting.serializer; -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.converters.ConverterLookup; -import com.thoughtworks.xstream.converters.DataHolder; -import com.thoughtworks.xstream.core.MapBackedDataHolder; -import com.thoughtworks.xstream.io.HierarchicalStreamReader; -import com.thoughtworks.xstream.io.xml.DomDriver; -import com.thoughtworks.xstream.mapper.Mapper; -import com.thoughtworks.xstream.mapper.MapperWrapper; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Method; +import org.openmrs.api.APIException; import org.openmrs.api.context.Context; import org.openmrs.module.serialization.xstream.XStreamShortSerializer; import org.openmrs.module.serialization.xstream.mapper.CGLibMapper; @@ -27,10 +24,14 @@ import org.openmrs.serialization.SerializationException; import org.openmrs.serialization.SimpleXStreamSerializer; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.UnsupportedEncodingException; -import java.lang.reflect.Method; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.ConverterLookup; +import com.thoughtworks.xstream.converters.DataHolder; +import com.thoughtworks.xstream.core.MapBackedDataHolder; +import com.thoughtworks.xstream.io.HierarchicalStreamReader; +import com.thoughtworks.xstream.io.xml.DomDriver; +import com.thoughtworks.xstream.mapper.Mapper; +import com.thoughtworks.xstream.mapper.MapperWrapper; public class ReportingSerializer extends XStreamShortSerializer { @@ -118,15 +119,20 @@ public void serializeToStream(Object object, OutputStream out) { } private void setupXStreamSecurity(XStream xstream) throws SerializationException { - SimpleXStreamSerializer serializer = Context.getRegisteredComponent("simpleXStreamSerializer", SimpleXStreamSerializer.class); - if (serializer != null) { - try { - Method method = serializer.getClass().getMethod("initXStream", XStream.class); - method.invoke(serializer, xstream); - } - catch (Exception ex) { - throw new SerializationException("Failed to set up XStream Security", ex); + try { + SimpleXStreamSerializer serializer = Context.getRegisteredComponent("simpleXStreamSerializer", SimpleXStreamSerializer.class); + if (serializer != null) { + try { + Method method = serializer.getClass().getMethod("initXStream", XStream.class); + method.invoke(serializer, xstream); + } + catch (Exception ex) { + throw new SerializationException("Failed to set up XStream Security", ex); + } } - } + } + catch (APIException ex) { + //Ignore APIException("Error during getting registered component) for platform versions below 2.7.0 + } } }