
| Key: |
FOR-924
|
| Type: |
Bug
|
| Status: |
Closed
|
| Resolution: |
Fixed
|
| Priority: |
Major
|
| Assignee: |
Unassigned
|
| Reporter: |
David Crossley
|
| Votes: |
1
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
With the current trunk (r436707) doing 'forrest war' and deploy to either full Jetty-4 or Tomcat-4
error log has this ...
------------
ERROR (2006-08-26) 00:17.47:047 [core.manager] (Unknown-URI) Unknown-Thread/CoreServiceManager: Caught an exception trying to initialize the component handler.
java.lang.NullPointerException
at org.apache.forrest.conf.ForrestConfUtils.aliasSkinProperties(ForrestConfUtils.java:100)
at org.apache.forrest.conf.ForrestConfModule.initialize(ForrestConfModule.java:194)
at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:244)
...
------------
Perhaps this is related to recent changes in forrest properties system.
|
|
Description
|
With the current trunk (r436707) doing 'forrest war' and deploy to either full Jetty-4 or Tomcat-4
error log has this ...
------------
ERROR (2006-08-26) 00:17.47:047 [core.manager] (Unknown-URI) Unknown-Thread/CoreServiceManager: Caught an exception trying to initialize the component handler.
java.lang.NullPointerException
at org.apache.forrest.conf.ForrestConfUtils.aliasSkinProperties(ForrestConfUtils.java:100)
at org.apache.forrest.conf.ForrestConfModule.initialize(ForrestConfModule.java:194)
at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:244)
...
------------
Perhaps this is related to recent changes in forrest properties system. |
Show » |
|
This leads to the NullpointerException in ForrestConfUtils.aliasSkinProperties().
---------------------
String skinName = props.getProperty("project.skin");
if (skinName.equals("crust")) { <<<<------ skinName is 'null'
setSkinToUse(props, "krysalis-site");
--------------------
My suggestion is, to reinsert the code to import forrest.properties file in ForrestConfModule.java:
Index: E:/user/martins/devel/eclipse-ws/apache-forrest/main/java/org/apache/forrest/conf/ForrestConfModule.java
===================================================================
Index: E:/user/martins/devel/eclipse-ws/apache-forrest/main/java/org/apache/forrest/conf/ForrestConfModule.java
===================================================================
--- org/apache/forrest/conf/ForrestConfModule.java (revision 447107)
+++ org/apache/forrest/conf/ForrestConfModule.java (working copy)
@@ -175,6 +175,20 @@
filteringProperties = loadXMLPropertiesFromURI(filteringProperties,
forrestPropertiesStringURI);
+ // get forrest.properties and load the values
+ forrestPropertiesStringURI = projectHome + SystemUtils.FILE_SEPARATOR
+ + "forrest.properties";
+ filteringProperties = loadAntPropertiesFromURI(filteringProperties,
+ forrestPropertiesStringURI);
+
+ // get default-forrest.properties and load the values
+ String defaultForrestPropertiesStringURI = contextHome + SystemUtils.FILE_SEPARATOR
+ + "default-forrest.properties";
+ filteringProperties = loadAntPropertiesFromURI(filteringProperties,
+ defaultForrestPropertiesStringURI);
+
+
+
// Load plugin default properties
String strPluginList = filteringProperties
.getProperty("project.required.plugins");
@@ -309,5 +323,46 @@
private final void debug(String debugString) {
getLogger().debug(debugString);
}
+
+ /**
+ * @param antPropertiesStringURI
+ * @throws MalformedURLException
+ * @throws IOException
+ * @throws SourceNotFoundException
+ */
+ private AntProperties loadAntPropertiesFromURI(AntProperties precedingProperties,
+ String antPropertiesStringURI) throws MalformedURLException, IOException,
+ SourceNotFoundException {
+ Source source = null;
+ InputStream in = null;
+ try {
+ source = m_resolver.resolveURI(antPropertiesStringURI);
+ if (debugging())
+ debug("Searching for forrest.properties in" + source.getURI());
+ if (source.exists()){
+ in = source.getInputStream();
+ filteringProperties = new AntProperties(precedingProperties);
+ filteringProperties.load(in);
+
+ if (debugging())
+ debug("Loaded:" + antPropertiesStringURI + filteringProperties.toString());
+ }
+
+ } finally {
+ if (source != null) {
+ m_resolver.release(source);
+ }
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return filteringProperties;
+ }
+
+
}