Fixed bug where type.properties of newly created prototypes were potentially

not updated correctly because another freshly created DbMapping was still
missing.
This commit is contained in:
hns 2002-09-13 13:24:28 +00:00
parent 6b06734adc
commit fa53c338ac

View file

@ -124,7 +124,14 @@ public final class TypeManager {
zipfiles.put (filename, zipped); zipfiles.put (filename, zipped);
} }
} }
} else { }
}
// loop through prototypes and check if type.properties needs updates
// it's important that we do this _after_ potentially new prototypes
// have been created in the previous loop.
for (Iterator i=prototypes.values().iterator(); i.hasNext(); ) {
Prototype proto = (Prototype) i.next ();
// update prototype's type mapping // update prototype's type mapping
DbMapping dbmap = proto.getDbMapping (); DbMapping dbmap = proto.getDbMapping ();
if (dbmap != null && dbmap.needsUpdate ()) { if (dbmap != null && dbmap.needsUpdate ()) {
@ -136,7 +143,6 @@ public final class TypeManager {
proto.setParentPrototype (getPrototype (parentName)); proto.setParentPrototype (getPrototype (parentName));
} }
} }
}
// loop through zip files to check for updates // loop through zip files to check for updates
for (Iterator it=zipfiles.values ().iterator (); it.hasNext (); ) { for (Iterator it=zipfiles.values ().iterator (); it.hasNext (); ) {