[gatein-commits] gatein SVN: r8037 - in epp/portal/branches/EPP_5_2_Branch/wsrp-integration: extension-war/src/main/webapp/WEB-INF/conf/wsrp and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Nov 10 17:31:04 EST 2011
Author: chris.laprun at jboss.com
Date: 2011-11-10 17:31:04 -0500 (Thu, 10 Nov 2011)
New Revision: 8037
Modified:
epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/WSRPServiceIntegration.java
epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-war/src/main/webapp/WEB-INF/conf/wsrp/wsrp-configuration.xml
Log:
- JBEPP-1357: allow configuration files to be put in $gatein.conf.dir for greater user friendliness.
Modified: epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/WSRPServiceIntegration.java
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/WSRPServiceIntegration.java 2011-11-10 22:27:56 UTC (rev 8036)
+++ epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/WSRPServiceIntegration.java 2011-11-10 22:31:04 UTC (rev 8037)
@@ -30,7 +30,6 @@
import org.exoplatform.portal.config.DataStorage;
import org.exoplatform.portal.pc.ExoKernelIntegration;
import org.exoplatform.portal.pom.config.POMSessionManager;
-import org.exoplatform.services.cache.CacheService;
import org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator;
import org.exoplatform.services.listener.ListenerService;
import org.gatein.common.logging.Logger;
@@ -41,7 +40,6 @@
import org.gatein.integration.wsrp.structure.PortalStructureAccess;
import org.gatein.pc.api.PortletInvoker;
import org.gatein.pc.federation.FederatingPortletInvoker;
-import org.gatein.pc.federation.PortletInvokerResolver;
import org.gatein.pc.portlet.PortletInvokerInterceptor;
import org.gatein.pc.portlet.aspects.EventPayloadInterceptor;
import org.gatein.pc.portlet.container.ContainerPortletInvoker;
@@ -90,18 +88,20 @@
{
private static final Logger log = LoggerFactory.getLogger(WSRPServiceIntegration.class);
- private static final String CLASSPATH = "classpath:/";
+ private static final String DEFAULT_PRODUCER_CONFIG_LOCATION = "classpath:/conf/wsrp-producer-config.xml";
+ private static final String DEFAULT_CONSUMERS_CONFIG_LOCATION = "classpath:/conf/wsrp-consumers-config.xml";
private static final String PRODUCER_CONFIG_LOCATION = "producerConfigLocation";
private static final String CONSUMERS_CONFIG_LOCATION = "consumersConfigLocation";
public static final String CONSUMERS_INIT_DELAY = "consumersInitDelay";
public static final int DEFAULT_DELAY = 2;
+ public static final String FILE = "file://";
- private final InputStream producerConfigurationIS;
- private final String producerConfigLocation;
+ private InputStream producerConfigurationIS;
+ private String producerConfigLocation;
private WSRPProducer producer;
- private final InputStream consumersConfigurationIS;
- private final String consumersConfigLocation;
+ private InputStream consumersConfigurationIS;
+ private String consumersConfigLocation;
private JCRConsumerRegistry consumerRegistry;
private ExoContainer container;
private final ExoKernelIntegration exoKernelIntegration;
@@ -115,14 +115,12 @@
// IMPORTANT: even though NodeHierarchyCreator is not used anywhere in the code, it's still needed for pico
// to properly make sure that this service is started after the PC one. Yes, Pico is crap. :/
- // todo: we currently only allow the service to go through initialization if we are running in the default portal
- // as this service is not meant to work with extensions yet...
if ("portal".equals(context.getName()))
{
if (params != null)
{
- producerConfigLocation = params.getValueParam(PRODUCER_CONFIG_LOCATION).getValue();
- consumersConfigLocation = params.getValueParam(CONSUMERS_CONFIG_LOCATION).getValue();
+ producerConfigLocation = computePath(params.getValueParam(PRODUCER_CONFIG_LOCATION).getValue());
+ consumersConfigLocation = computePath(params.getValueParam(CONSUMERS_CONFIG_LOCATION).getValue());
String delayString = params.getValueParam(CONSUMERS_INIT_DELAY).getValue();
try
{
@@ -139,9 +137,26 @@
+ PRODUCER_CONFIG_LOCATION + "and " + CONSUMERS_CONFIG_LOCATION);
}
- producerConfigurationIS = configurationManager.getInputStream(CLASSPATH + producerConfigLocation);
- consumersConfigurationIS = configurationManager.getInputStream(CLASSPATH + consumersConfigLocation);
+ try
+ {
+ producerConfigurationIS = configurationManager.getInputStream(producerConfigLocation);
+ }
+ catch (Exception e)
+ {
+ producerConfigLocation = DEFAULT_PRODUCER_CONFIG_LOCATION;
+ producerConfigurationIS = configurationManager.getInputStream(DEFAULT_PRODUCER_CONFIG_LOCATION);
+ }
+ try
+ {
+ consumersConfigurationIS = configurationManager.getInputStream(consumersConfigLocation);
+ }
+ catch (Exception e)
+ {
+ consumersConfigLocation = DEFAULT_CONSUMERS_CONFIG_LOCATION;
+ consumersConfigurationIS = configurationManager.getInputStream(DEFAULT_CONSUMERS_CONFIG_LOCATION);
+ }
+
container = context.getContainer();
exoKernelIntegration = pc;
@@ -162,6 +177,12 @@
}
}
+ private String computePath(String pathFromConfig)
+ {
+ // if specified path starts with / then it's a file and we need to add file:// to it so that ConfigurationManager can properly resolve it
+ return pathFromConfig.startsWith("/") ? FILE + pathFromConfig : pathFromConfig;
+ }
+
public void start()
{
if (!bypass)
Modified: epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-war/src/main/webapp/WEB-INF/conf/wsrp/wsrp-configuration.xml
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-war/src/main/webapp/WEB-INF/conf/wsrp/wsrp-configuration.xml 2011-11-10 22:27:56 UTC (rev 8036)
+++ epp/portal/branches/EPP_5_2_Branch/wsrp-integration/extension-war/src/main/webapp/WEB-INF/conf/wsrp/wsrp-configuration.xml 2011-11-10 22:31:04 UTC (rev 8037)
@@ -34,16 +34,18 @@
<value-param>
<name>producerConfigLocation</name>
<description>Location of the default producer configuration file</description>
- <value>conf/wsrp-producer-config.xml</value>
+ <value>${gatein.conf.dir:classpath:/conf}/wsrp-producer-config.xml</value>
</value-param>
<value-param>
<name>consumersConfigLocation</name>
<description>Location of the default consumers configuration file</description>
- <value>conf/wsrp-consumers-config.xml</value>
+ <value>${gatein.conf.dir:classpath:/conf}/wsrp-consumers-config.xml</value>
</value-param>
<value-param>
<name>consumersInitDelay</name>
- <description>Time (in seconds) after the start of the WSRP extension, waited before the consumers are started</description>
+ <description>Time (in seconds) after the start of the WSRP extension, waited before the consumers are
+ started
+ </description>
<value>2</value>
</value-param>
</init-params>
More information about the gatein-commits
mailing list