변환 대상이 null 이거나, empty 인 경우에 대한 오류 처리 (스키마 데이터셋 처리) 추가
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user