Author: chris.laprun(a)jboss.com
Date: 2008-11-07 17:41:08 -0500 (Fri, 07 Nov 2008)
New Revision: 12275
Modified:
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationServiceImpl.java
Log:
- JBPORTAL-2229: Check that portal dir exists in JBoss data dir, if not create it.
Modified:
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationServiceImpl.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationServiceImpl.java 2008-11-07
22:17:31 UTC (rev 12274)
+++
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationServiceImpl.java 2008-11-07
22:41:08 UTC (rev 12275)
@@ -108,8 +108,27 @@
{
throw new RuntimeException("Couldn't locate server data dir!",
e);
}
- config = new File(dataDir, "portal/wsrp-producer-config.xml");
+ // if "portal" directory doesn't exist already in data, create it
(JBPORTAL-2229)
+ File portalDir = new File(dataDir, "portal");
+ if (!portalDir.exists())
+ {
+ if (!portalDir.mkdir())
+ {
+ throw new RuntimeException("Couldn't create 'portal'
directory in " + dataDir.getAbsolutePath());
+ }
+ }
+ else
+ {
+ if (!portalDir.isDirectory())
+ {
+ throw new RuntimeException("Was expecting a directory named
'portal' in " + dataDir.getAbsolutePath()
+ + ", not a simple file! Cannot continue.");
+ }
+ }
+
+ config = new File(portalDir, "wsrp-producer-config.xml");
+
reloadConfiguration();
}
@@ -126,7 +145,7 @@
if (config.exists())
{
log.debug("Configuration saved at " + config.getCanonicalPath()
- + " is not loading properly. Falling back to default
configuration.");
+ + " is not loading properly. Falling back to default
configuration.");
config.delete(); // delete improper config so that we retrieve the default
configuration
loadConfigurationAt(getConfigLocationURL());
}
@@ -235,7 +254,7 @@
// add schema location by declaring xsi namespace and adding xsi:schemaLocation
attribute
marshaller.declareNamespace("xsi",
"http://www.w3.org/2001/XMLSchema-instance");
marshaller.addAttribute("xsi", "schemaLocation",
"string",
- "urn:jboss:portal:wsrp:producer:v2_6
http://www.jboss.org/portal/xsd/jboss-wsrp-producer_2_6.xsd");
+ "urn:jboss:portal:wsrp:producer:v2_6
http://www.jboss.org/portal/xsd/jboss-wsrp-producer_2_6.xsd");
// create an instance of Object Model Provider
ObjectModelProvider provider = new ProducerConfigurationProvider();