You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2007/09/21 22:08:43 UTC
svn commit: r578250 -
/incubator/sling/trunk/scripting-core/src/main/java/org/apache/sling/scripting/ScriptedComponent.java
Author: fmeschbe
Date: Fri Sep 21 13:08:43 2007
New Revision: 578250
URL: http://svn.apache.org/viewvc?rev=578250&view=rev
Log:
SLING-15 NPE if the scripted component hasn't sling:scripts node created
Modified:
incubator/sling/trunk/scripting-core/src/main/java/org/apache/sling/scripting/ScriptedComponent.java
Modified: incubator/sling/trunk/scripting-core/src/main/java/org/apache/sling/scripting/ScriptedComponent.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting-core/src/main/java/org/apache/sling/scripting/ScriptedComponent.java?rev=578250&r1=578249&r2=578250&view=diff
==============================================================================
--- incubator/sling/trunk/scripting-core/src/main/java/org/apache/sling/scripting/ScriptedComponent.java (original)
+++ incubator/sling/trunk/scripting-core/src/main/java/org/apache/sling/scripting/ScriptedComponent.java Fri Sep 21 13:08:43 2007
@@ -19,6 +19,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.TreeSet;
import org.apache.sling.component.Component;
@@ -145,9 +146,12 @@
protected Script getScript(ComponentRequest request) {
// check whether we can handle the script
- for (int i = 0; i < this.scripts.length && this.scripts[i] != null; i++) {
- if (this.scripts[i].matches(request)) {
- return this.scripts[i];
+ Script[] scripts = this.scripts;
+ if (scripts != null) {
+ for (int i = 0; i < this.scripts.length && this.scripts[i] != null; i++) {
+ if (this.scripts[i].matches(request)) {
+ return this.scripts[i];
+ }
}
}
@@ -266,14 +270,22 @@
}
public void setScripts(Collection scripts) {
- TreeSet scriptSet = new TreeSet();
- if (scripts != null && !scripts.isEmpty()) {
- scriptSet.addAll(scripts);
+ if (scripts == null || scripts.isEmpty()) {
+ this.scripts = null;
+ } else {
+ TreeSet scriptSet = new TreeSet();
+ if (scripts != null && !scripts.isEmpty()) {
+ scriptSet.addAll(scripts);
+ }
+ this.scripts = (Script[]) scriptSet.toArray(new Script[scriptSet.size()]);
}
- this.scripts = (Script[]) scriptSet.toArray(new Script[scriptSet.size()]);
}
public Collection getScripts() {
+ if (scripts == null) {
+ return Collections.emptyList();
+ }
+
return Arrays.asList(this.scripts);
}