From b2a412ba83d8f75ded5846d205ff6b2b74afdd7a Mon Sep 17 00:00:00 2001 From: ParkSeongMin Date: Tue, 17 Nov 2015 07:15:29 +0000 Subject: [PATCH] =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=B6=9C?= =?UTF-8?q?=EB=A0=A5=20=EB=B3=80=ED=99=98=20=EC=8B=9C=20null=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...exacroHandlerMethodReturnValueHandler.java | 58 ++++++++++++++----- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/nexacro/spring/resolve/NexacroHandlerMethodReturnValueHandler.java b/src/main/java/com/nexacro/spring/resolve/NexacroHandlerMethodReturnValueHandler.java index 82cbe9a..2480c84 100644 --- a/src/main/java/com/nexacro/spring/resolve/NexacroHandlerMethodReturnValueHandler.java +++ b/src/main/java/com/nexacro/spring/resolve/NexacroHandlerMethodReturnValueHandler.java @@ -172,15 +172,30 @@ public class NexacroHandlerMethodReturnValueHandler implements HandlerMethodRetu Set dataSetKeySet = dataSets.keySet(); for(String name: dataSetKeySet) { List list = dataSets.get(name); - NexacroConverter dataSetConverter = getDataSetConverter(list.getClass()); + if(list == null) { + platformData.addDataSet(new DataSet(name)); + } else { - ConvertDefinition definition = new ConvertDefinition(name); - Object convert = dataSetConverter.convert(list, definition); + NexacroConverter dataSetConverter = getDataSetConverter(list.getClass()); + if(dataSetConverter == null) { + logger.debug("not found converter {} to List to DataSet({})" , name); + continue; + } + + logger.debug("found a converter({}) for converting the List to DataSet({})" + , dataSetConverter.getClass().getName() + , name); + + + ConvertDefinition definition = new ConvertDefinition(name); + Object convert = dataSetConverter.convert(list, definition); + + if(convert != null && convert instanceof DataSet) { + platformData.addDataSet((DataSet) convert); + } + } // end if - if(convert != null && convert instanceof DataSet) { - platformData.addDataSet((DataSet) convert); - } - } + } // end for } private void addVariablesIntoPlatformData(PlatformData platformData, NexacroResult nexacroResult) throws NexacroConvertException { @@ -189,15 +204,30 @@ public class NexacroHandlerMethodReturnValueHandler implements HandlerMethodRetu Set variableKeySets = variables.keySet(); for(String name: variableKeySets) { Object object = variables.get(name); - NexacroConverter variableConverter = getVariableConverter(object.getClass()); + if(object == null) { + platformData.addVariable(new Variable(name)); + } else { - ConvertDefinition definition = new ConvertDefinition(name); - Object convert = variableConverter.convert(object, definition); + NexacroConverter variableConverter = getVariableConverter(object.getClass()); + if(variableConverter == null) { + logger.debug("not found converter {} to Variable({})" , object.getClass(), name); + continue; + } + + logger.debug("found a converter({}) for converting the {} to Variable({})" + , variableConverter.getClass().getName() + , object.getClass() + , name); + + ConvertDefinition definition = new ConvertDefinition(name); + Object convert = variableConverter.convert(object, definition); + + if(convert != null && convert instanceof Variable) { + platformData.addVariable((Variable) convert); + } + } // end if - if(convert != null && convert instanceof Variable) { - platformData.addVariable((Variable) convert); - } - } + } // end for } /**