You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2012/12/27 16:27:03 UTC
svn commit: r1426226 -
/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java
Author: cziegeler
Date: Thu Dec 27 15:27:02 2012
New Revision: 1426226
URL: http://svn.apache.org/viewvc?rev=1426226&view=rev
Log:
SLING-2702 : NPE as repository class loader might not have been instantiated
Modified:
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java
Modified: sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java?rev=1426226&r1=1426225&r2=1426226&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java (original)
+++ sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java Thu Dec 27 15:27:02 2012
@@ -211,7 +211,7 @@ public class ClassLoaderWriterImpl
return this.repository != null;
}
- private synchronized ClassLoader getOrCreateClassLoader() {
+ private synchronized RepositoryClassLoader getOrCreateClassLoader() {
if ( this.repositoryClassLoader == null || !this.repositoryClassLoader.isLive() ) {
// make sure to cleanup any existing class loader
@@ -243,7 +243,7 @@ public class ClassLoaderWriterImpl
Item fileItem = session.getItem(path);
fileItem.remove();
session.save();
- this.repositoryClassLoader.handleEvent(path);
+ this.getOrCreateClassLoader().handleEvent(path);
return true;
}
} catch (final RepositoryException re) {
@@ -278,8 +278,8 @@ public class ClassLoaderWriterImpl
session = this.createSession();
session.move(oldPath, newPath);
session.save();
- this.repositoryClassLoader.handleEvent(oldName);
- this.repositoryClassLoader.handleEvent(newName);
+ this.getOrCreateClassLoader().handleEvent(oldName);
+ this.getOrCreateClassLoader().handleEvent(newName);
return true;
} catch (final RepositoryException re) {
logger.error("Cannot rename " + oldName + " to " + newName, re);
@@ -390,6 +390,7 @@ public class ClassLoaderWriterImpl
/**
* @see java.io.ByteArrayOutputStream#close()
*/
+ @Override
public void close() throws IOException {
super.close();
@@ -464,7 +465,7 @@ public class ClassLoaderWriterImpl
contentNode.setProperty("jcr:mimeType", mimeType);
session.save();
- this.repositoryOutputProvider.repositoryClassLoader.handleEvent(fileName);
+ this.repositoryOutputProvider.getOrCreateClassLoader().handleEvent(fileName);
} catch (final RepositoryException re) {
throw (IOException)new IOException("Cannot write file " + fileName + ", reason: " + re.toString()).initCause(re);
} finally {