Skip to content

Commit 5007399

Browse files
author
Open Lowcode SAS
committed
Close #206
1 parent 07ff632 commit 5007399

File tree

7 files changed

+48
-20
lines changed

7 files changed

+48
-20
lines changed

src/org/openlowcode/OLcVersionGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
*
2828
*/
2929
public class OLcVersionGenerator {
30-
public final static String version = "1.11.2";
31-
public final static String clientversion = "1.11.2";
30+
public final static String version = "1.11.3";
31+
public final static String clientversion = "1.11.3";
3232
public final static boolean stable = false;
3333

3434
public static void main(String[] args) {

src/org/openlowcode/design/data/DataObjectDefinition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3693,7 +3693,7 @@ public void generateDefinitionToFile(SourceGenerator sg, Module module) throws I
36933693
sg.wl(" public DataObjectFieldMarker<" + classname + "> get"
36943694
+ StringFormatter.formatForJavaClass(element.getName()) + "FieldMarker() {");
36953695
sg.wl(" return this.getPropertyFieldMarker(\"" + thisproperty.getName() + "\",\""
3696-
+ element.getGenericNameForProperty().toUpperCase() + "\");");
3696+
+ element.getNameElementForProperty().toUpperCase() + "\");");
36973697
sg.wl(" }");
36983698
}
36993699
}

src/org/openlowcode/design/data/Element.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,24 @@ public Element(String name) {
3737

3838
/**
3939
* provides the generic name of the variable for properties that can be
40-
* instanciated multiple times
40+
* instanciated multiple times. THis is especially the name of the getter
41+
* in the property class
4142
*
4243
* @return
4344
*/
4445
public String getGenericNameForProperty() {
4546
return this.genericsname;
4647
}
48+
49+
/**
50+
* provides the element name inside the property. Especially, for properties
51+
* that can be instanciated multiple time, this may be typically property instance name + suffix
52+
*
53+
* @return
54+
*/
55+
public String getNameElementForProperty() {
56+
return this.genericsname;
57+
}
4758

4859
/**
4960
* sets the generics name of the variable, typically, this will be the same even

src/org/openlowcode/design/data/ExternalElement.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class ExternalElement
2929
@SuppressWarnings("unused")
3030
private Property<?> referencedproperty;
3131
private StoredElement referencedpropertyelement;
32-
32+
private String namelementforproperty;
3333
public StoredElement getReferencedPropertyElement() {
3434
return this.referencedpropertyelement;
3535
}
@@ -92,12 +92,20 @@ public ExternalElement(
9292
genericsname = genericsname + namesuffix;
9393
genericsname = genericsname + StringFormatter.formatForJavaClass(this.referencedpropertyelement.getName());
9494
this.setGenericsName(genericsname);
95-
95+
namelementforproperty = localproperty.getName();
96+
if (namesuffix != null)
97+
namelementforproperty = namelementforproperty+namesuffix;
98+
namelementforproperty = namelementforproperty+ StringFormatter.formatForJavaClass(this.referencedpropertyelement.getName());
9699
}
97100

98101
@Override
99102
public String getJavaFieldName() {
100103
return referencedpropertyelement.getJavaFieldName();
101104
}
102105

106+
@Override
107+
public String getNameElementForProperty() {
108+
return this.namelementforproperty;
109+
}
110+
103111
}

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

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ F, E>> void postprocStoredobjectInsert(
104104
public void postprocStoredobjectInsert(E object) {
105105
MultidimensionchildHelper<F, E> multidimensionalchildhelper = this.casteddefinition.getHelper();
106106
multidimensionalchildhelper.setContext(object);
107-
107+
logger.fine(" ---------------- start treating object for insert "+object.dropIdToString()+" ---------------- ");
108108
// if versioned, get previous version children if it exists
109109
F[] previouschildren = null;
110110
if (object instanceof VersionedInterface<?>) {
@@ -113,15 +113,20 @@ public void postprocStoredobjectInsert(E object) {
113113
E previousversion = versionedproperty.getpreviousversion();
114114
if (previousversion != null)
115115
previouschildren = this.casteddefinition.getChildren(previousversion.getId());
116+
logger.fine(" got "+(previouschildren!=null?previouschildren.length:"null")+" children from previous version");
116117
}
117118
// get the blank objects
118-
119+
119120
ArrayList<F> blankobjects = multidimensionalchildhelper.generateObjectsForAllValueHelpers(object,
120121
childobjectdefinition);
122+
logger.fine(" blank objects created = "+blankobjects.size());
121123
HashMap<String, F> objectsperkey = new HashMap<String, F>();
122-
for (int i = 0; i < blankobjects.size(); i++)
123-
objectsperkey.put(multidimensionalchildhelper.generateKeyForObject(blankobjects.get(i)),
124-
blankobjects.get(i));
124+
for (int i = 0; i < blankobjects.size(); i++) {
125+
F thisobject = blankobjects.get(i);
126+
String key = multidimensionalchildhelper.generateKeyForObject(thisobject);
127+
logger.finest(" "+key);
128+
objectsperkey.put(key,thisobject);
129+
}
125130

126131
if (previouschildren != null) {
127132
// replace children that are part of the list of blank objects
@@ -132,6 +137,7 @@ public void postprocStoredobjectInsert(E object) {
132137
if (objectsperkey.get(childkey) != null) {
133138
F newchild = oldchild.deepcopy();
134139
objectsperkey.put(childkey, newchild);
140+
logger.finest(" Replace key "+childkey+" with previous version");
135141
}
136142
}
137143

@@ -143,21 +149,21 @@ public void postprocStoredobjectInsert(E object) {
143149

144150
if (objectsperkey.get(childkey) == null) {
145151
F potentialnewchild = oldchild.deepcopy();
146-
logger.severe(" -- Managing child in previous version key = "+childkey);
152+
logger.finer(" -- Managing child in previous version key = "+childkey);
147153
String value = multidimensionalchildhelper.getKeyForConsolidation(potentialnewchild, object);
148-
logger.severe(" -> found new key for consolidation = "+value);
154+
logger.finer(" -> found new key for consolidation = "+value);
149155
if (value != null)
150156
if (objectsperkey.get(value) != null) {
151157
F childtoconsolidateinto = objectsperkey.get(value);
152158
multidimensionalchildhelper.getConsolidator().accept(childtoconsolidateinto,
153159
potentialnewchild);
154-
logger.severe(" -> found object to consolidate into ");
160+
logger.finer(" -> found object to consolidate into ");
155161
} else {
156162
objectsperkey.put(value, potentialnewchild);
157-
logger.severe(" -> adds value directly to consolidation");
163+
logger.finer(" -> adds value directly to consolidation");
158164
}
159165
if (value == null)
160-
logger.severe (" -> Discarding old data with key " + childkey);
166+
logger.finer (" -> Discarding old data with key " + childkey);
161167
}
162168
}
163169

@@ -171,7 +177,10 @@ public void postprocStoredobjectInsert(E object) {
171177
allobjectstoinsert.add(nextobject);
172178

173179
}
180+
174181
F[] objectstoinsert = allobjectstoinsert.toArray(childobjectdefinition.generateArrayTemplate());
182+
logger.finer(" inserting "+(objectstoinsert!=null?objectstoinsert.length:"null")+" objects");
183+
if (objectstoinsert!=null) for (int i=0;i<objectstoinsert.length;i++) logger.finest(" "+multidimensionalchildhelper.generateKeyForObject(objectstoinsert[i]));
175184
if (objectstoinsert != null)
176185
if (objectstoinsert.length > 0) {
177186
objectstoinsert[0].getMassiveInsert().insert(objectstoinsert);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ public Linkedtoparent(LinkedtoparentDefinition<E, F> definition, DataObjectPaylo
6161
pridfield = (StoredField<String>) this.field.lookupOnName(this.getName() + "ID");
6262

6363
if (parentdefinition.hasProperty("NAMED")) {
64-
prname = (ExternalField<String>) this.field.lookupOnName(this.getName() + "NAME");
64+
prname = (ExternalField<String>) this.field.lookupOnName(this.getName() + "OBJECTNAME");
6565
}
6666
if (parentdefinition.hasProperty("NUMBERED")) {
6767
prnumber = (ExternalField<String>) this.field.lookupOnName(this.getName() + "NR");
6868
}
69-
if (parentdefinition.hasProperty("Located")) {
69+
if (parentdefinition.hasProperty("LOCATED")) {
7070
prlocation = (ExternalField<String>) this.field.lookupOnName(this.getName() + "LOCATIONDOMAINID");
7171
}
7272

@@ -230,7 +230,7 @@ public String getLinkedtoparentobjectname() {
230230
if (parentdefinition.hasProperty("NAMEDPROPERTY")) {
231231

232232
for (int i = 0; i < this.field.getSize(); i++)
233-
logger.info("field = " + this.field.get(i).getName());
233+
logger.finer("field = " + this.field.get(i).getName());
234234
}
235235
if (prname == null)
236236
return "#Name not present#";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public ArrayList<ExternalFieldSchema<?>> generateExternalSchema() {
164164
.generateJoinQueryDefinition(this.parentobject.getTableschema(), id, "UNIQUEIDENTIFIED", "ID",
165165
this.getName(), new QueryOperatorEqual<String>());
166166
ExternalFieldSchema<?> externalfield = referenceobjectdefinition.generateExternalField(
167-
this.getName() + "NAME", "Parent " + this.referenceobjectdefinition.getLabel(),
167+
this.getName() + "OBJECTNAME", "Parent " + this.referenceobjectdefinition.getLabel(),
168168
"Indicates the field the notes has been put in", "NAMED", "OBJECTNAME", joincondition,
169169
this.displayprofilehideparentfields, -50, 40);
170170
externalfieldlist.add(externalfield);

0 commit comments

Comments
 (0)