diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java index f9dee1f7f61c62353b481b26da4287795c803a34..6308592a8d6d3d7f1da1cefce7811d573fd64531 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java @@ -99,9 +99,25 @@ public class Jython27ClassLoader extends ClassLoader resolveClass(clazz); } cachedClasses.put(name, clazz); + definePackage(name); return clazz; } + private void definePackage(String className) + { + String packageName = getPackageName(className); + if (getPackage(packageName) == null) + { + definePackage(packageName, null, null, null, null, null, null, null); + } + } + + private String getPackageName(String className) + { + int offset = className.lastIndexOf('.'); + return (offset == -1) ? null : className.substring(0, offset); + } + @Override public URL getResource(String name) {