Fixed bug where DbMapping was not created for zipped prototype
if it didn't contain a type.properties file.
This commit is contained in:
parent
3cee7707ad
commit
0f42a7b624
1 changed files with 15 additions and 1 deletions
|
@ -47,6 +47,9 @@ public class ZippedAppFile implements Updatable {
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
ZipFile zip = null;
|
ZipFile zip = null;
|
||||||
|
// collect created protos - we need this to check DbMappings for each created
|
||||||
|
// prototype afterwards
|
||||||
|
HashSet newPrototypes = new HashSet ();
|
||||||
try {
|
try {
|
||||||
lastmod = file.lastModified ();
|
lastmod = file.lastModified ();
|
||||||
// System.err.println ("UPDATING ZIP FILE "+this);
|
// System.err.println ("UPDATING ZIP FILE "+this);
|
||||||
|
@ -60,8 +63,10 @@ public class ZippedAppFile implements Updatable {
|
||||||
String fname = st.nextToken ();
|
String fname = st.nextToken ();
|
||||||
// System.err.println ("ZIPENTRY: "+ dir +" ~ "+fname);
|
// System.err.println ("ZIPENTRY: "+ dir +" ~ "+fname);
|
||||||
Prototype proto = app.typemgr.getPrototype (dir);
|
Prototype proto = app.typemgr.getPrototype (dir);
|
||||||
if (proto == null)
|
if (proto == null) {
|
||||||
proto = app.typemgr.createPrototype (dir);
|
proto = app.typemgr.createPrototype (dir);
|
||||||
|
newPrototypes.add (proto);
|
||||||
|
}
|
||||||
if (fname.endsWith (".hac")) {
|
if (fname.endsWith (".hac")) {
|
||||||
String name = fname.substring (0, fname.lastIndexOf ("."));
|
String name = fname.substring (0, fname.lastIndexOf ("."));
|
||||||
String content = getZipEntryContent (zip, entry);
|
String content = getZipEntryContent (zip, entry);
|
||||||
|
@ -100,6 +105,15 @@ public class ZippedAppFile implements Updatable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (Iterator it = newPrototypes.iterator (); it.hasNext (); ) {
|
||||||
|
Prototype proto = (Prototype) it.next ();
|
||||||
|
if (app.getDbMapping (proto.getName ()) == null) {
|
||||||
|
// DbMapping doesn't exist, we still need to create one
|
||||||
|
SystemProperties props = new SystemProperties ();
|
||||||
|
// DbMapping does its own registering, just construct it.
|
||||||
|
new DbMapping (app, proto.getName (), props);
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (Throwable x) {
|
} catch (Throwable x) {
|
||||||
System.err.println ("Error updating ZipFile: "+x);
|
System.err.println ("Error updating ZipFile: "+x);
|
||||||
} finally {
|
} finally {
|
||||||
|
|
Loading…
Add table
Reference in a new issue