]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitWrapper.java
Add dep folder
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / jackrabbit / JackrabbitWrapper.java
index 1505b1cfe9763d50f25c69e7cdda849fe3b1e9f9..f9f04c4cbd0de9bc469f0a827ae55f4ae624d249 100644 (file)
@@ -191,9 +191,14 @@ public class JackrabbitWrapper extends JcrRepositoryWrapper implements
 
                        reader = new InputStreamReader(new ByteArrayInputStream(cndContent));
                        // actually imports the CND
-                       CndImporter.registerNodeTypes(reader, session, true);
+                       try {
+                               CndImporter.registerNodeTypes(reader, session, true);
+                       } catch (Exception e) {
+                               log.error("Cannot import data model " + resUrl, e);
+                               return;
+                       }
 
-                       if (dataModel != null & !dataModel.isNodeType(NodeType.NT_FILE)) {
+                       if (dataModel != null && !dataModel.isNodeType(NodeType.NT_FILE)) {
                                dataModel.remove();
                                dataModel = null;
                        }
@@ -301,6 +306,9 @@ public class JackrabbitWrapper extends JcrRepositoryWrapper implements
         */
        /** Find which OSGi bundle provided the data model resource */
        protected Bundle findDataModelBundle(String resUrl) {
+               if (bundleContext == null)
+                       return null;
+
                if (resUrl.startsWith("/"))
                        resUrl = resUrl.substring(1);
                String pkg = resUrl.substring(0, resUrl.lastIndexOf('/')).replace('/',
@@ -329,8 +337,10 @@ public class JackrabbitWrapper extends JcrRepositoryWrapper implements
                if (exportedPackage != null) {
                        exportingBundle = exportedPackage.getExportingBundle();
                } else {
-                       throw new ArgeoException("No OSGi exporting package found for "
-                                       + resUrl);
+                       // assume this is in the same bundle
+                       exportingBundle = bundleContext.getBundle();
+//                     throw new ArgeoException("No OSGi exporting package found for "
+//                                     + resUrl);
                }
                return exportingBundle;
        }