You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by aw...@apache.org on 2009/04/08 20:38:54 UTC
svn commit: r763345 -
/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
Author: awiner
Date: Wed Apr 8 18:38:53 2009
New Revision: 763345
URL: http://svn.apache.org/viewvc?rev=763345&view=rev
Log:
The prior checkin broke some subclasses that overrode createExpressionContent(), since createExpressionContext() was now getting called within the JsonContainerConfig constructor itself. This adds a hacky way for subclasses to delay init() until at least the subclasses constructor has fully executed.
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
Modified: incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java?rev=763345&r1=763344&r2=763345&view=diff
==============================================================================
--- incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java (original)
+++ incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java Wed Apr 8 18:38:53 2009
@@ -82,7 +82,7 @@
throws ContainerConfigException {
this.expressions = expressions;
config = createContainers(loadContainers(containers));
- evaluateConfig();
+ init();
}
/**
@@ -91,9 +91,20 @@
public JsonContainerConfig(JSONObject json, Expressions expressions) {
this.expressions = expressions;
config = createContainers(json);
- evaluateConfig();
+ init();
}
+ /**
+ * Initializes the configuration. Called during construction.
+ */
+ protected void init() {
+ for (Map.Entry<String, Map<String, Object>> configEntry : config.entrySet()) {
+ @SuppressWarnings("unchecked")
+ Map<String, Object> value = (Map<String, Object>) evaluateAll(configEntry.getValue());
+ configEntry.setValue(value);
+ }
+ }
+
@Override
public Collection<String> getContainers() {
return Collections.unmodifiableSet(config.keySet());
@@ -354,14 +365,6 @@
public String toString() {
return JsonSerializer.serialize(config);
}
-
- private void evaluateConfig() {
- for (Map.Entry<String, Map<String, Object>> configEntry : config.entrySet()) {
- @SuppressWarnings("unchecked")
- Map<String, Object> value = (Map<String, Object>) evaluateAll(configEntry.getValue());
- configEntry.setValue(value);
- }
- }
private Object evaluateAll(Object value) {
if (value instanceof CharSequence) {