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); }