Author: cziegeler
Date: Wed Mar 24 08:01:33 2010
New Revision: 926966
URL: http://svn.apache.org/viewvc?rev=926966&view=rev
Log:
SLING-1459 : Make references to class loader manager and class loader writer
dynamic
Modified:
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/CompilationResultImpl.java
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/EclipseJavaCompiler.java
Modified:
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/CompilationResultImpl.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/CompilationResultImpl.java?rev=926966&r1=926965&r2=926966&view=diff
==============================================================================
---
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/CompilationResultImpl.java
(original)
+++
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/CompilationResultImpl.java
Wed Mar 24 08:01:33 2010
@@ -37,6 +37,13 @@ public class CompilationResultImpl imple
private final ClassLoader classLoader;
+ public CompilationResultImpl(final String errorMessage) {
+ this.ignoreWarnings = true;
+ this.classLoader = null;
+ this.compilationRequired = false;
+ this.onError(errorMessage, "<General>", 0, 0);
+ }
+
public CompilationResultImpl(final ClassLoader classLoader) {
this.ignoreWarnings = true;
this.classLoader = classLoader;
Modified:
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/EclipseJavaCompiler.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/EclipseJavaCompiler.java?rev=926966&r1=926965&r2=926966&view=diff
==============================================================================
---
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/EclipseJavaCompiler.java
(original)
+++
sling/trunk/contrib/commons/compiler/src/main/java/org/apache/sling/commons/compiler/impl/EclipseJavaCompiler.java
Wed Mar 24 08:01:33 2010
@@ -29,6 +29,7 @@ import java.util.Map;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.classloader.ClassLoaderWriter;
import org.apache.sling.commons.classloader.DynamicClassLoaderManager;
@@ -64,10 +65,10 @@ public class EclipseJavaCompiler impleme
/** Logger instance */
private final Logger logger =
LoggerFactory.getLogger(EclipseJavaCompiler.class);
- @Reference
+ @Reference(policy=ReferencePolicy.DYNAMIC)
private ClassLoaderWriter classLoaderWriter;
- @Reference
+ @Reference(policy=ReferencePolicy.DYNAMIC)
private DynamicClassLoaderManager dynamicClassLoaderManager;
private ClassLoader classLoader;
@@ -197,7 +198,13 @@ public class EclipseJavaCompiler impleme
// get classloader and classloader writer
final ClassLoader loader = this.getClassLoader(options);
+ if ( loader == null ) {
+ return new CompilationResultImpl("Class loader for compilation is
not available.");
+ }
final ClassLoaderWriter writer = this.getClassLoaderWriter(options);
+ if ( writer == null ) {
+ return new CompilationResultImpl("Class loader writer for
compilation is not available.");
+ }
// check sources for compilation
boolean needsCompilation = isForceCompilation(options);