From b5973555c968790b4eb27acf7edfd976cd022f65 Mon Sep 17 00:00:00 2001 From: ParkSeongMin Date: Thu, 1 Jun 2017 13:30:44 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B3=80=ED=99=98=20=EB=8C=80=EC=83=81?= =?UTF-8?q?=EC=9D=B4=20null=20=EC=9D=B4=EA=B1=B0=EB=82=98,=20empty=20?= =?UTF-8?q?=EC=9D=B8=20=EA=B2=BD=EC=9A=B0=EC=97=90=20=EB=8C=80=ED=95=9C=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=B2=98=EB=A6=AC=20(=EC=8A=A4=ED=82=A4?= =?UTF-8?q?=EB=A7=88=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EC=85=8B=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 --- .../data/support/AbstractDataSetConverter.java | 10 ++++++++++ .../spring/data/support/ListToDataSetConverter.java | 12 ++++++------ .../data/support/ObjectToDataSetConverter.java | 11 +++++------ 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/nexacro/spring/data/support/AbstractDataSetConverter.java b/src/main/java/com/nexacro/spring/data/support/AbstractDataSetConverter.java index 886b928..b54680c 100644 --- a/src/main/java/com/nexacro/spring/data/support/AbstractDataSetConverter.java +++ b/src/main/java/com/nexacro/spring/data/support/AbstractDataSetConverter.java @@ -10,6 +10,7 @@ import org.springframework.beans.PropertyAccessException; import com.nexacro.spring.data.DataSetRowTypeAccessor; import com.nexacro.spring.data.DataSetSavedDataAccessor; +import com.nexacro.spring.data.convert.ConvertDefinition; import com.nexacro.spring.data.convert.NexacroConvertException; import com.nexacro.spring.util.ReflectionUtil; import com.nexacro.xapi.data.DataSet; @@ -377,4 +378,13 @@ public class AbstractDataSetConverter extends AbstractListenerHandler { return false; } + protected DataSet createDataSet(ConvertDefinition definition) { + DataSet schemaDataSet = definition.getSchemaDataSet(); + if(schemaDataSet != null) { + return schemaDataSet; + } else { + return new DataSet(definition.getName()); + } + } + } diff --git a/src/main/java/com/nexacro/spring/data/support/ListToDataSetConverter.java b/src/main/java/com/nexacro/spring/data/support/ListToDataSetConverter.java index a91f5c4..f7ffe4c 100644 --- a/src/main/java/com/nexacro/spring/data/support/ListToDataSetConverter.java +++ b/src/main/java/com/nexacro/spring/data/support/ListToDataSetConverter.java @@ -46,13 +46,13 @@ public class ListToDataSetConverter extends AbstractDataSetConverter implements throw new IllegalArgumentException(ConvertDefinition.class.getSimpleName()+" must not be null."); } if(source == null) { - return new DataSet(definition.getName()); + return createDataSet(definition); } // check first value Object availableFirstData = checkAvailable(source); if(availableFirstData == null) { - return new DataSet(definition.getName()); + return createDataSet(definition); } // DataSet SavedType은 처리 하지 않는다. (UI 처리 불필요) @@ -92,9 +92,9 @@ public class ListToDataSetConverter extends AbstractDataSetConverter implements if(definition.getSchemaDataSet() != null) { // set schema dataSet - ds = definition.getSchemaDataSet(); + ds = createDataSet(definition); } else { - ds = new DataSet(definition.getName()); + ds = createDataSet(definition); addColumnIntoDataSet(ds, availableFirstData); } @@ -120,7 +120,7 @@ public class ListToDataSetConverter extends AbstractDataSetConverter implements DataSet ds = null; if(definition.getSchemaDataSet() != null) { // set schema dataSet - ds = definition.getSchemaDataSet(); + ds = createDataSet(definition); // map과 달리 bean은 이미 정의가 되어 있기 때문에 row를 추가할때 컬럼을 추가하지 않고, 미리 설정한다. if(!definition.isDisallowChangeStructure()) { @@ -128,7 +128,7 @@ public class ListToDataSetConverter extends AbstractDataSetConverter implements } } else { - ds = new DataSet(definition.getName()); + ds = createDataSet(definition); addColumnIntoDataSet(ds, availableFirstData); } diff --git a/src/main/java/com/nexacro/spring/data/support/ObjectToDataSetConverter.java b/src/main/java/com/nexacro/spring/data/support/ObjectToDataSetConverter.java index 17d7c0b..6b7aab6 100644 --- a/src/main/java/com/nexacro/spring/data/support/ObjectToDataSetConverter.java +++ b/src/main/java/com/nexacro/spring/data/support/ObjectToDataSetConverter.java @@ -41,7 +41,7 @@ public class ObjectToDataSetConverter extends AbstractDataSetConverter implement } if(source == null) { - return new DataSet(definition.getName()); + return createDataSet(definition); } // DataSet SavedType은 처리 하지 않는다. (UI 처리 불필요) @@ -65,7 +65,7 @@ public class ObjectToDataSetConverter extends AbstractDataSetConverter implement DataSet ds = null; if(definition.getSchemaDataSet() != null) { // set schema dataSet - ds = definition.getSchemaDataSet(); + ds = createDataSet(definition); // map과 달리 bean은 이미 정의가 되어 있기 때문에 row를 추가할때 컬럼을 추가하지 않고, 미리 설정한다. if(!definition.isDisallowChangeStructure()) { @@ -73,7 +73,7 @@ public class ObjectToDataSetConverter extends AbstractDataSetConverter implement } } else { - ds = new DataSet(definition.getName()); + ds = createDataSet(definition); addColumnIntoDataSet(ds, source); } @@ -84,10 +84,9 @@ public class ObjectToDataSetConverter extends AbstractDataSetConverter implement private DataSet convertMapToDataSet(Map source, ConvertDefinition definition) throws NexacroConvertException { DataSet ds = null; if(definition.getSchemaDataSet() != null) { - // set schema dataSet - ds = definition.getSchemaDataSet(); + ds = createDataSet(definition); } else { - ds = new DataSet(definition.getName()); + ds = createDataSet(definition); addColumnIntoDataSet(ds, source); }