Skip to content

Commit 230c731

Browse files
author
Open Lowcode SAS
committed
Close #54
1 parent 73ee679 commit 230c731

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/org/openlowcode/server/data/properties/NumberedFlatFileLoader.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public NumberedFlatFileLoader(DataObjectDefinition<E> objectdefinition,NumberedD
3838
this.objectdefinition = objectdefinition;
3939
this.updateifexists=updateifexists;
4040
this.propertyextractor = propertyextractor;
41+
this.numberedproperty = numberedproperty;
4142
}
4243

4344

@@ -53,7 +54,12 @@ public LinePreparation<E> LinePreparation(Object object,ArrayList<LinePreparatio
5354
String string = FlatFileLoader.parseObject(object,"LinePreparation for Numbered");
5455
QueryCondition extracondition = null;
5556
if (string==null) throw new RuntimeException("Number cannot be null on flat file loading.");
56-
if (string.trim().length()==0) throw new RuntimeException("Number cannot be an empty string on flat file loading. At least one significant character is expected.");
57+
if (string.trim().length()==0) {
58+
if (numberedproperty.getAutonumberingRule()!=null) {
59+
return new LinePreparation<E>(objectdefinition.generateBlank(),false);
60+
}
61+
throw new RuntimeException("Number cannot be an empty string on flat file loading. At least one significant character is expected.");
62+
}
5763

5864
if (objectdefinition.hasProperty("VERSIONED")) {
5965
extracondition = VersionedQueryHelper.getLatestVersionQueryCondition(objectdefinition.getAlias("SINGLEOBJECT"), objectdefinition);
@@ -84,7 +90,8 @@ public boolean load(E object, Object value,PostUpdateProcessingStore<E> postupda
8490
Numbered<E> numbered = (Numbered<E>) property;
8591
String oldnumber = numbered.getNr();
8692
String newnumber = FlatFileLoader.parseObject(value,"property 'Numbered'");
87-
93+
if (newnumber==null) if (numberedproperty.getAutonumberingRule()!=null) newnumber = numberedproperty.getAutonumberingRule().generateNumber(object);
94+
if (newnumber!=null) if (newnumber.trim().length()==0) if (numberedproperty.getAutonumberingRule()!=null) newnumber = numberedproperty.getAutonumberingRule().generateNumber(object);
8895
if (FlatFileLoader.isTheSame(oldnumber,newnumber)) {
8996
return false;
9097
} else {

0 commit comments

Comments
 (0)