Fix the build
git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/trunk@1839853 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tiles-core/src/main/java/org/apache/tiles/preparer/factory/BasicPreparerFactory.java b/tiles-core/src/main/java/org/apache/tiles/preparer/factory/BasicPreparerFactory.java
index f7d581f..e116c87 100644
--- a/tiles-core/src/main/java/org/apache/tiles/preparer/factory/BasicPreparerFactory.java
+++ b/tiles-core/src/main/java/org/apache/tiles/preparer/factory/BasicPreparerFactory.java
@@ -20,7 +20,9 @@
*/
package org.apache.tiles.preparer.factory;
+import java.util.Collections;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.tiles.preparer.ViewPreparer;
@@ -49,12 +51,14 @@
* Maps a preparer name to the instantiated preparer.
*/
protected Map<String, ViewPreparer> preparers;
+ protected Set<String> knownPreparers;
/**
* Constructor.
*/
public BasicPreparerFactory() {
- this.preparers = new ConcurrentHashMap<String, ViewPreparer>;
+ this.preparers = new ConcurrentHashMap<String, ViewPreparer>();
+ this.knownPreparers = Collections.newSetFromMap(new ConcurrentHashMap<String, Boolean>());
}
@@ -68,8 +72,12 @@
*/
public ViewPreparer getPreparer(String name, Request context) {
- if (!preparers.containsKey(name)) {
- preparers.put(name, createPreparer(name));
+ if (!knownPreparers.contains(name)) {
+ knownPreparers.add(name);
+ ViewPreparer preparer = createPreparer(name);
+ if (preparer != null) {
+ preparers.put(name, preparer);
+ }
}
return preparers.get(name);