Update of /var/cvs/src/org/mmbase/framework/basic
In directory james.mmbase.org:/tmp/cvs-serv19514/src/org/mmbase/framework/basic
Modified Files:
BasicFramework.java
Log Message:
small NPE fix
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/framework/basic
Index: BasicFramework.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/BasicFramework.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- BasicFramework.java 24 Feb 2008 10:46:20 -0000 1.12
+++ BasicFramework.java 11 Apr 2008 15:03:31 -0000 1.13
@@ -11,12 +11,15 @@
import org.mmbase.framework.*;
import java.util.*;
import java.io.*;
+import java.net.URI;
+
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import org.mmbase.util.*;
import org.mmbase.util.xml.Instantiator;
import org.mmbase.bridge.Node;
import org.mmbase.bridge.Cloud;
+import org.mmbase.core.util.SystemProperties;
import org.mmbase.util.functions.*;
import org.mmbase.util.transformers.Url;
import org.mmbase.util.transformers.CharTransformer;
@@ -25,12 +28,14 @@
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
+import sun.security.krb5.internal.crypto.c;
+
/**
* The Basic framework is based on a list of [EMAIL PROTECTED] UrlConverter}s.
It is
* configured with an XML 'framework.xml'.
*
* @author Michiel Meeuwissen
- * @version $Id: BasicFramework.java,v 1.12 2008/02/24 10:46:20 michiel Exp $
+ * @version $Id: BasicFramework.java,v 1.13 2008/04/11 15:03:31 nklasens Exp $
* @since MMBase-1.9
*/
public class BasicFramework extends Framework {
@@ -244,7 +249,8 @@
setBlockParametersForRender(state, blockParameters);
actualRenderer.render(blockParameters, frameworkParameters, w,
windowState);
} catch (FrameworkException fe) {
- Renderer error = new ErrorRenderer(renderer.getType(),
renderer.getBlock(), renderer.getUri().toString(), 500, fe);
+ URI uri = renderer.getUri();
+ Renderer error = new ErrorRenderer(renderer.getType(),
renderer.getBlock(), (uri != null) ? uri.toString() : null, 500, fe);
error.render(blockParameters, frameworkParameters, w, windowState);
} finally {
state.endBlock();
@@ -328,6 +334,11 @@
if (settingValues.containsKey(setting)) {
return (C) settingValues.get(setting);
} else {
+ C settingValue = loadSettingValue(setting);
+ if (settingValue != null) {
+ settingValues.put(setting, settingValue);
+ return settingValue;
+ }
return setting.getDataType().getDefaultValue();
}
}
@@ -343,6 +354,7 @@
} else {
Cloud cloud = parameters.get(Parameter.CLOUD);
if (cloud.getUser().getRank() == org.mmbase.security.Rank.ADMIN) {
+ saveSettingValue(setting, value);
return (C) settingValues.put(setting, value);
} else {
throw new SecurityException("Permission denied");
@@ -350,7 +362,17 @@
}
}
+ public <C> C loadSettingValue(Setting<C> setting) {
+ String v =
SystemProperties.getComponentProperty(setting.getComponent().getName(),
+ setting.getName());
+ if (v != null) {
+ return setting.getDataType().cast(v, null, null);
+ }
+ return null;
+ }
-
-
+ public <C> void saveSettingValue(Setting<C> setting, C value) {
+ SystemProperties.setComponentProperty(setting.getComponent().getName(),
+ setting.getName(), value.toString());
+ }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs