gatein SVN: r2684 - portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-04-20 10:39:19 -0400 (Tue, 20 Apr 2010)
New Revision: 2684
Modified:
portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationInfo.gtmpl
portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationOrganizer.gtmpl
Log:
GTNPORTAL-1103: JS Injection in App.registry - portlet description and display name
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationInfo.gtmpl
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationInfo.gtmpl 2010-04-16 19:23:46 UTC (rev 2683)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationInfo.gtmpl 2010-04-20 14:39:19 UTC (rev 2684)
@@ -1,17 +1,24 @@
-<%
+<%
+import org.gatein.common.text.EntityEncoder;
def application = uicomponent.getApplication();
def category = uicomponent.getApplicationCategory();
String name = application.getApplicationName();
String srcBG = application.getIconURL();
String srcBGError = "/eXoResources/skin/sharedImages/Icon80x80/DefaultPortlet.png";
+
+EntityEncoder encoder = EntityEncoder.FULL;
+
+String categoryDisplayName = encoder.encode(category.getDisplayName());
+String applicationDisplayName = encoder.encode(application.getDisplayName());
+String applicationDescription = encoder.encode(application.getDescription());
%>
<div class="$uicomponent.id" id="$uicomponent.id">
<div class="UIBreadcumb">
<div class="ControlIcon EditIcon" title="<%=_ctx.appRes("UIApplicationInfo.title.editApplication")%>" onclick="<%= uicomponent.event("EditApplication") %>"><span></span></div>
<div class="BreadcumbInfo">
- <div class="LeftBlock" title="<%= category.getDisplayName() %>"><%= category.getDisplayName() %></div>
+ <div class="LeftBlock" title="<%= category.getDisplayName() %>"><%= categoryDisplayName %></div>
<div class="RightBlackGridArrow16x16Icon"><span></span></div>
- <div class="Selected" title="<%= application.getDisplayName() %> "><%= application.getDisplayName() %></div>
+ <div class="Selected" title="<%= application.getDisplayName() %> "><%= applicationDisplayName %></div>
</div>
</div>
<div class="Application">
@@ -22,7 +29,7 @@
<div class="ApplicationContent">
<div class="TitleBarApplication">
<span class="LeftLabel"><%=_ctx.appRes("UIApplicationInfo.label.displayName")%></span>
- <span class="RightLabel"><%= application.getDisplayName() %></span>
+ <span class="RightLabel"><%= applicationDisplayName %></span>
</div>
<div class="ApplicationContentLabel">
<div class="ContentLabel">
@@ -31,7 +38,7 @@
</div>
<div class="ContentLabel">
<span class="LeftLabel"><%=_ctx.appRes("UIApplicationInfo.label.description")%></span>
- <span class="RightLabel"><%= application.getDescription() %></span>
+ <span class="RightLabel"><%= applicationDescription %></span>
</div>
</div>
</div>
@@ -40,7 +47,7 @@
<table class="TitleBarApplication">
<tr>
<td class="LeftLabel"><%=_ctx.appRes("UIApplicationInfo.label.displayName")%></td>
- <td class="RightLabel" title=" <%= application.getDisplayName() %> "><%= application.getDisplayName() %></td>
+ <td class="RightLabel" title=" <%= application.getDisplayName() %> "><%= applicationDisplayName %></td>
</tr>
</table>
<table>
@@ -52,7 +59,7 @@
<table>
<tr>
<td class="LeftLabel"><%=_ctx.appRes("UIApplicationInfo.label.description")%></td>
- <td class="RightLabel" title=" <%= application.getDescription() %> "><%= application.getDescription() %></td>
+ <td class="RightLabel" title=" <%= application.getDescription() %> "><%= applicationDescription %></td>
</tr>
</table>
</div>
@@ -64,4 +71,4 @@
<% uicomponent.renderChildren() %>
</div>
</div>
-</div>
\ No newline at end of file
+</div>
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationOrganizer.gtmpl
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationOrganizer.gtmpl 2010-04-16 19:23:46 UTC (rev 2683)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/groovy/applicationregistry/webui/component/UIApplicationOrganizer.gtmpl 2010-04-20 14:39:19 UTC (rev 2684)
@@ -1,4 +1,5 @@
<%
+import org.gatein.common.text.EntityEncoder;
def categories = uicomponent.getCategories();
def selectedCategory = uicomponent.getSelectedCategory();
def apps = uicomponent.getApplications();
@@ -28,6 +29,8 @@
cName = category.getName();
displayName =category.getDisplayName();
if(displayName == null || displayName.length() < 1 ) displayName = cName;
+ EntityEncoder encoder = EntityEncoder.FULL;
+ displayName = encoder.encode(displayName);
if(selectedCategory != null && cName == selectedCategory.getName()) {
isSelected = true;
cTab = "SelectedTab";
@@ -64,8 +67,11 @@
String appName= application.getApplicationName();
%>
<div class="ItemContent $cssClass">
- <% def applicationLabel = application.getDisplayName() %>
- <a onclick="<%= uicomponent.event("SelectApplication", "$appName") %>" class="ItemLabel" title="<%= application.getDisplayName() %>"><%= (applicationLabel.length() <= 30) ? applicationLabel : applicationLabel.substring(0, 27)+"..." %><span></span></a>
+ <% def applicationLabel = application.getDisplayName()
+ String displayApplicationName = (applicationLabel.length() <= 30) ? applicationLabel : applicationLabel.substring(0, 27)+"...";
+ displayApplicationName = encoder.encode(displayApplicationName);
+ %>
+ <a onclick="<%= uicomponent.event("SelectApplication", "$appName") %>" class="ItemLabel" title="<%= application.getDisplayName() %>"><%= displayApplicationName %><span></span></a>
<a class="ControlIcon DeletePortalIcon" title="<%=_ctx.appRes("UIOrganizer.title.deleteApplication")%>" onclick="<%= uicomponent.event("RemoveApplication", appName) %>"><span></span></a>
<div class="ClearBoth"><span></span></div>
</div>
@@ -86,4 +92,4 @@
<div class="ClearLeft"><span></span></div>
</div>
-</div>
\ No newline at end of file
+</div>
14 years, 5 months
gatein SVN: r2683 - in portal/trunk/docs/reference-guide/en: modules and 1 other directory.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-04-16 15:23:46 -0400 (Fri, 16 Apr 2010)
New Revision: 2683
Added:
portal/trunk/docs/reference-guide/en/images/WSRP/config_self.png
Modified:
portal/trunk/docs/reference-guide/en/images/WSRP/consumer_operations.png
portal/trunk/docs/reference-guide/en/images/WSRP/erase_registration.png
portal/trunk/docs/reference-guide/en/images/WSRP/erase_registration_warning.png
portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_end.png
portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_modify.png
portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_self.png
portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_self_end.png
portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_start.png
portal/trunk/docs/reference-guide/en/modules/WSRP.xml
Log:
- Finished first pass at updating WSRP documentation.
Added: portal/trunk/docs/reference-guide/en/images/WSRP/config_self.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/WSRP/config_self.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/consumer_operations.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/erase_registration.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/erase_registration_warning.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_end.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_modify.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_self.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_self_end.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/images/WSRP/modify_reg_start.png
===================================================================
(Binary files differ)
Modified: portal/trunk/docs/reference-guide/en/modules/WSRP.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-04-16 16:07:07 UTC (rev 2682)
+++ portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-04-16 19:23:46 UTC (rev 2683)
@@ -70,8 +70,8 @@
</para>
<note>
- <para>At of version &PRODUCT_VERSION; of &PRODUCT_NAME;, WSRP is only activated and supported when GateIn is
- deployed on JBoss Application Server.
+ <para>As of version &PRODUCT_VERSION; of &PRODUCT_NAME;, WSRP is only activated and supported
+ when &PRODUCT_NAME; is deployed on JBoss Application Server.
</para>
</note>
</sect1>
@@ -147,7 +147,7 @@
</para>
<sect2 id="wsrp-ports">
- <title>Considerations to use WSRP when running Portal on a non-default port or hostname</title>
+ <title>Considerations to use WSRP when running &PRODUCT_NAME; on a non-default port or hostname</title>
<para>
JBoss WS (the web service stack that &PRODUCT_NAME; uses) should take care of the details of updating the
port and host name used in WSDL. See the
@@ -159,7 +159,8 @@
<para>
Of course, if you have modified you have modified the host name and port on which your server runs, you will
need to
- update the configuration for the consumer used to consume GateIn's 'self' producer. Please refer to the
+ update the configuration for the consumer used to consume &PRODUCT_NAME;'s 'self' producer. Please refer to
+ the
<xref linkend="consumer_configuration"/>
to learn how to do so.
</para>
@@ -170,7 +171,7 @@
<para>It is possible to use WSRP over SSL for secure exchange of data. Please refer to the
<ulink url="http://community.jboss.org/wiki/ConfiguringWSRPforuseoverSSL">instructions</ulink>
on how to do so from
- <ulink url="http://community.jboss.org/wiki/GateIn">&PRODUCT_NAME;'s wiki</ulink>.
+ <ulink url="http://community.jboss.org/wiki/GateIn">GateIn's wiki</ulink>.
</para>
</sect2>
</sect1>
@@ -192,7 +193,8 @@
<para>In the following example, the "BasicPortlet" portlet is specified as being remotable.
</para>
<example>
- <programlisting><![CDATA[
+ <para>
+ <programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -203,13 +205,15 @@
<portlet-name>BasicPortlet</portlet-name>
...
-
+
<container-runtime-option>
<name>org.gatein.pc.remotable</name>
<value>true</value>
</container-runtime-option>
</portlet>
</portlet-app>]]></programlisting>
+ </para>
+
</example>
<para>
It is also possible to specify that all the portlets declared within a given portlet application to be
@@ -223,7 +227,8 @@
example:
</para>
<example>
- <programlisting><![CDATA[
+ <para>
+ <programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -249,7 +254,9 @@
<value>true</value>
</container-runtime-option>
</portlet-app>]]>
- </programlisting>
+ </programlisting>
+ </para>
+
</example>
<para>
@@ -433,48 +440,46 @@
</sect3>
<sect3>
- <title>Using a WSRP Producer XML descriptor</title>
+ <title>Using XML</title>
- <para>We will create a
- <filename>public-bea-wsrp.xml</filename>
- descriptor. Note that the actual name does not
- matter as long as it ends with<filename>-wsrp.xml</filename>:
+ <para>While we recommend you use the WSRP Configuration portlet to configure Consumers, we provide an
+ alternative way to configure consumers by editing the XML file located at
+ <filename>$GATEIN_HOME/lib/wsrp-consumer-$WSRP_VERSION.jar/conf/wsrp-consumers-config.xml</filename>.
</para>
<programlisting role="XML"><![CDATA[
<?xml version='1.0' encoding='UTF-8' ?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
- "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
-<deployments>
- <deployment>
- <wsrp-producer id="bea" expiration-cache="300">
- <endpoint-wsdl-url>http://wsrp.bea.com:7001/producer/producer?WSDL</endpoint-wsdl-url>
- <registration-data>
- <property>
- <name>registration/consumerRole</name>
- <lang>en</lang>
- <value>public</value>
- </property>
- </registration-data>
- </wsrp-producer>
- </deployment>
+<deployments xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0 http://www.jboss.org/portal/xsd/gatein_wsrp_consumer_1_0.xsd">
+ <deployment>
+ <wsrp-producer id="self" expiration-cache="300" ws-timeout="30000">
+ <endpoint-wsdl-url>http://localhost:8080/wsrp-producer/MarkupService?wsdl</endpoint-wsdl-url>
+ <registration-data>
+ <property>
+ <name>email</name>
+ <lang>en</lang>
+ <value>example(a)example.com</value>
+ </property>
+ </registration-data>
+ </wsrp-producer>
+ </deployment>
+ <deployment>
+ <wsrp-producer id="oracle" expiration-cache="300">
+ <endpoint-wsdl-url>http://portalstandards.oracle.com/portletapp/portlets?WSDL</endpoint-wsdl-url>
+ <registration-data/>
+ </wsrp-producer>
+ </deployment>
</deployments>]]></programlisting>
<para>
- This producer descriptor gives access to BEA's public WSRP producer. We will look at the details of the
- different elements later. Note for now the
- <literal>producer-id</literal>
- element with a "<literal>bea</literal>" value. Put this file in the deploy directory and start the server
- (with &PRODUCT_NAME; and its WSRP service deployed).
+ The file as shown above specifies access to two producers:
+ <literal>self</literal>, which consumes &PRODUCT_NAME;'s own WSRP producer albeit in a version that
+ assumes that the producer requires a value for an
+ <literal>email</literal>
+ registration property, and
+ <literal>oracle</literal>, which consumes Oracle's public producer, both in configurations as shown in
+ the walk-through above.
</para>
- <para>
- <note>
- <para>A DTD and an XML Schema for WSRP Producer XML descriptors are available in
- <filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>
- and
- <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>
- </para>
-
- </note>
- </para>
+ <para>We will look at the details of the meaning of elements later on.</para>
</sect3>
<sect3>
@@ -514,37 +519,38 @@
</sect2>
<sect2>
- <title>WSRP Producer descriptors</title>
+ <title>Configuring access to remote producers via XML</title>
- <para>
- A WSRP Producer descriptor is an XML file which name ends in
- <filename>-wsrp.xml</filename>
- and
- which can be dropped in the deploy directory of the JBoss application server or nested in .sar files. It is
- possible to configure access to several different producers within a single descriptor or use one file per
- producer, depending on your needs. An XML Schema for the WSRP Producer descriptor format can be found at
- <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>, while a (legacy) DTD
- can be found at<filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>.
-
+ <para>While we recommend you use the WSRP Configuration portlet to configure Consumers, we provide an
+ alternative way to configure consumers by editing the XML file located at
+ <filename>$GATEIN_HOME/lib/wsrp-consumer-$WSRP_VERSION.jar/conf/wsrp-consumers-config.xml</filename>.
<note>
- <para>It is important to note how WSRP Producer descriptors are processed. They are read the first time
- the WSRP service starts and the associated information is then put in the Portal database. Subsequent
- launch
- of the WSRP service will use the database-stored information for all producers which identifier is
- already known to Portal. More specifically, all the descriptors are scanned for producer identifiers.
- Any identifier that is already known will be bypassed and the configuration associated with this
- remote
- producer in the database will be used. If a producer identifier is found that wasn't already in the
- database, that producer information will be processed and recorded in the database. Therefore, if you
- wish to delete a producer configuration, you need to delete the associated information in the database
- (this can be accomplished using the configuration portlet as we saw in
+ <para>An XML Schema defining which elements are available to configure Consumers via XML can be found
+ in
+ <filename>
+ $GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar/xsd/gatein_wsrp_consumer_1_0.xsd
+ </filename>
+ </para>
+ </note>
+ <note>
+ <para>It is important to note how the XML consumers configuration file is processed. It is read the first
+ time the WSRP service starts and the associated information is then put under control of JCR (Java
+ Content Repository). Subsequent launches of the WSRP service will use the JCR-stored information for
+ all producers are already known to &PRODUCT_NAME;. More specifically,
+ <filename>wsrp-consumers-config.xml</filename>
+ file is scanned for producer identifiers.
+ Any identifier that is already known will be bypassed and the JCR information associated with this
+ remote producer will be used. The information defined at the XML level is only processed for producer
+ definition for which no information is already present in JCR. Therefore, if you wish to delete a
+ producer configuration, you need to delete the associated information in the database (this can be
+ accomplished using the configuration portlet as we saw in
<xref linkend="consumer_gui"/>)
<emphasis>AND</emphasis>
- remove the associated information in any WSRP Producer descriptor (if such
- information exists) as the producer will be re-created the next time the WSRP is launched if that
- information is not removed.
+ remove the associated information in
+ <filename>wsrp-consumers-config.xml</filename>
+ (if such information exists) as the producer will be re-created the next time the WSRP is launched if
+ that information is not removed.
</para>
-
</note>
</para>
@@ -563,63 +569,17 @@
</para>
<para>&PRODUCT_NAME; also needs to learn about the remote producer's endpoints to be able to connect to the
- remote web services and perform WSRP invocations. Two options are currently supported to provide this
- information:
+ remote web services and perform WSRP invocations. This is accomplished by specifying the URL for the
+ WSDL description for the remote WSRP service, using the
+ <literal><endpoint-wsdl-url></literal>
+ element.
</para>
- <para>
- <itemizedlist>
- <listitem>
- <para>You can provide the URLs for each of the different WSRP interfaces offered by the remote
- producer via the
- <literal><endpoint-config></literal>
- element and its
- <literal><service-description-url></literal>,
- <literal><markup-url></literal>,
- <literal><registration-url></literal>
- and
- <literal><portlet-management-url></literal>
- children. These URLs are
- producer-specific so you will need to refer to your producer documentation or WSDL file to
- determine
- the appropriate values.
- </para>
-
- </listitem>
- <listitem>
- <para>Alternatively, and this is the easiest way to configure your producer, you can provide a URL
- pointing to the WSDL description of the producer's WSRP services. This is accomplished via the
- <literal><endpoint-wsdl-url></literal>
- element. &PRODUCT_NAME; will then
- heuristically determine, from the information contained in the WSDL file, how to connect
- appropriately
- to the remote WSRP services.
- <note>
- <para>It is important to note that, when using this method, &PRODUCT_NAME; will try to match
- a
- port
- name to an interface based solely on the provided name. There are no standard names for
- these
- ports so it is possible (though rare) that this matching process fails. In this case, you
- should
- look at the WSDL file and provide the endpoint URLs manually, as per the previous method.
- </para>
-
- </note>
- </para>
-
- </listitem>
- </itemizedlist>
- </para>
-
<para>Both the
<literal>id</literal>
- attribute and either
- <literal><endpoint-config></literal>
- or
+ attribute and
<literal><endpoint-wsdl-url></literal>
- elements
- are required for a functional remote producer configuration.
+ elements are required for a functional remote producer configuration.
</para>
</sect3>
@@ -631,29 +591,36 @@
<para>One such optional configuration concerns caching. To prevent useless roundtrips between the local
consumer and the remote producer, it is possible to cache some of the information sent by the producer
- (such
- as the list of offered portlets) for a given duration. The rate at which the information is refreshed is
+ (such as the list of offered portlets) for a given duration. The rate at which the information is
+ refreshed is
defined by the
<literal>expiration-cache</literal>
attribute of the
<literal><wsrp-producer></literal>
- element which specifies the
- refreshing period in seconds. For example, providing a value of 120 for expiration-cache means that the
- producer information will not be refreshed for 2 minutes after it has been somehow accessed. If no value
- is provided, &PRODUCT_NAME; will always access the remote producer regardless of whether the remote
- information has changed or not. Since, in most instances, the information provided by the producer does
- not
- change often, we recommend that you use this caching facility to minimize bandwidth usage.
+ element which specifies the refreshing period in seconds. For example, providing a value of 120 for
+ expiration-cache means that the producer information will not be refreshed for 2 minutes after it has
+ been somehow accessed. If no value is provided, &PRODUCT_NAME; will always access the remote producer
+ regardless of whether the remote information has changed or not. Since, in most instances, the
+ information provided by the producer does not change often, we recommend that you use this caching
+ facility to minimize bandwidth usage.
</para>
+ <para>It is also possible to define a timeout after which WS operations are considered as failed. This is
+ helpful to avoid blocking the WSRP service, waiting forever on the service that doesn't answer. Use the
+ <literal>ws-timeout</literal>
+ attribute of the
+ <literal><wsrp-producer></literal>
+ element to specify how many milliseconds the WSRP service will wait for a response from the remote
+ producer before timing out and giving up.
+ </para>
+
<para>Additionally, some producers require consumers to register with them before authorizing them to access
their offered portlets. If you know that information beforehand, you can provide the required
- registration
- information in the producer configuration so that the Portal consumer can register with the remote
+ registration information in the producer configuration so that the consumer can register with the remote
producer when required.
<note>
<para>At this time, though, only simple String properties are supported and it is not possible to
- configure complex registration data. This should however be sufficient for most cases.
+ configure complex registration data. This should, however, be sufficient for most cases.
</para>
</note>
</para>
@@ -661,19 +628,16 @@
<para>Registration configuration is done via the
<literal><registration-data></literal>
element. Since &PRODUCT_NAME; can generate the mandatory information for you, if the remote producer does
- not
- require any registration properties, you only need to provide an empty
+ not require any registration properties, you only need to provide an empty
<literal><registration-data></literal>
element. Values for the registration properties
required by the remote producer can be provided via
<literal><property></literal>
elements. See the example below for more details. Additionally, you can override the default consumer
- name
- automatically provided by &PRODUCT_NAME; via the
+ name automatically provided by &PRODUCT_NAME; via the
<literal><consumer-name></literal>
element. If you choose to provide a consumer name, please remember that this should uniquely identify
- your
- consumer.
+ your consumer.
</para>
</sect3>
</sect2>
@@ -686,89 +650,38 @@
<literal>self</literal>
producer as found in
<filename>default-wsrp.xml</filename>
- with a cache expiring every five minutes:
+ with a cache expiring every five minutes and with a 30 second timeout for web service operations.
</para>
<example>
- <programlisting><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
- "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
-
-<deployments>
+ <para>
+ <programlisting><![CDATA[
+<?xml version='1.0' encoding='UTF-8' ?>
+<deployments xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0 http://www.jboss.org/portal/xsd/gatein_wsrp_consumer_1_0.xsd">
<deployment>
- <wsrp-producer id="self" expiration-cache="300">
-
- <important>
- <title>Was commented out</title>
- <para>
- we need to use the individual endpoint configuration because the configuration via
- wsdl forces an immediate attempt to access the web service description which is not
- available yet at this point of deployment
- </para>
- </important>
-
- <endpoint-config>
- <service-description-url>
- http://localhost:8080/portal-wsrp/ServiceDescriptionService
- </service-description-url>
- <markup-url>http://localhost:8080/portal-wsrp/MarkupService</markup-url>
- <registration-url>
- http://localhost:8080/portal-wsrp/RegistrationService
- </registration-url>
- <portlet-management-url>
- http://localhost:8080/portal-wsrp/PortletManagementService
- </portlet-management-url>
- </endpoint-config>
+ <wsrp-producer id="self" expiration-cache="300" ws-timeout="30000">
+ <endpoint-wsdl-url>http://localhost:8080/wsrp-producer/MarkupService?wsdl</endpoint-wsdl-url>
<registration-data/>
</wsrp-producer>
</deployment>
</deployments>]]>
- </programlisting>
- </example>
+ </programlisting>
+ </para>
- <para>Here is an example of a WSRP descriptor with a 2 minute caching time and manual definition of the
- endpoint URLs:
- </para>
-
- <example>
- <programlisting><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
- "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
-
-<deployments>
- <deployment>
- <wsrp-producer id="MyProducer" expiration-cache="120">
- <endpoint-config>
- <service-description-url>
- http://www.someproducer.com/portal-wsrp/ServiceDescriptionService
- </service-description-url>
- <markup-url>
- http://www.someproducer.com/portal-wsrp/MarkupService
- </markup-url>
- <registration-url>
- http://www.someproducer.com/portal-wsrp/RegistrationService
- </registration-url>
- <portlet-management-url>
- http://www.someproducer.com/portal-wsrp/PortletManagementService
- </portlet-management-url>
- </endpoint-config>
- </wsrp-producer>
- </deployment>
-</deployments>]]></programlisting>
</example>
- <para>Here is an example of a WSRP descriptor with endpoint definition via remote WSDL file, registration
- data and cache expiring every minute:
+ <para>Here is an example of a WSRP descriptor with registration data and cache expiring every minute:
</para>
<example>
- <programlisting><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
- "http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
-
+ <para>
+ <programlisting><![CDATA[
+<?xml version='1.0' encoding='UTF-8' ?>
+<deployments xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0 http://www.jboss.org/portal/xsd/gatein_wsrp_consumer_1_0.xsd">
<deployments>
<deployment>
<wsrp-producer id="AnotherProducer" expiration-cache="60">
@@ -783,6 +696,7 @@
</wsrp-producer>
</deployment>
</deployments>]]></programlisting>
+ </para>
</example>
</sect2>
</sect1>
@@ -797,42 +711,35 @@
<title>Registration modification for service upgrade</title>
<para>
Producers often offer several levels of service depending on consumers' subscription levels (for
- example).
- This is implemented at the WSRP level with the registration concept: producers assert which level of
- service to provide to consumers based on the values of given registration properties.
+ example). This is implemented at the WSRP level with the registration concept: producers can assert which
+ level of service to provide to consumers based on the values of given registration properties.
</para>
<para>
+ There might also be cases where you just want to update the registration information because it has
+ changed. For example, the producer required you to provide a valid email and the previously email
+ address is not valid anymore and needs to be updated.
+ </para>
+ <para>
It is therefore sometimes necessary to modify the registration that concretizes the service agreement
- between a consumer and a producer. An example of easily available producer offering different level of
- services is BEA's public producer. We configured access to that producer in
+ between a consumer and a producer. Let's take the example of the producer requiring an email we
+ configured in
<xref linkend="consumer_gui"/>.
If you recall, the producer was requiring registration and required a value to be provided for the
- <literal>registration/consumerRole</literal>
- property. The description of that property indicated that
- three values were possible:<literal>public</literal>,
- <literal>partner</literal>
- or
- <literal>insider</literal>
- each corresponding to a different service level. We registered using the
- <literal>public</literal>
- service level. This gave us access to three portlets as shown here:
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/WSRP/bea.png" format="PNG" align="center" valign="middle" scalefit="1"/>
- </imageobject>
- </mediaobject>
+ <literal>email</literal>
+ property.
</para>
<para>
- Suppose now that we would like to upgrade our service level to the "insider" level. We will need to
- tell BEA's producer that our registration data has been modified. Let's see how to do this. Assuming you
+ Suppose now that we would like to update the email address that we provided to the remote producer. We
+ will need to tell the producer that our registration data has been modified. Let's see how to do this.
+ Assuming you
have configured access to the producer as previously described, please go to the configuration screen for
the
- <literal>bea</literal>
- producer and modify the value of the
- <literal>registration/consumerRole</literal>
+ <literal>self</literal>
+ producer and modify the value of
+ <literal>email</literal>
to
- <literal>insider</literal>
- instead of<literal>public</literal>:
+ <literal>foo(a)example.com</literal>
+ instead of<literal>example(a)example.com</literal>:
<mediaobject>
<imageobject>
<imagedata fileref="images/WSRP/modify_reg_start.png" format="PNG" align="center" valign="middle"
@@ -855,16 +762,6 @@
scalefit="1"/>
</imageobject>
</mediaobject>
- You can now check the list of available portlets from the
- <literal>bea</literal>
- provider and verify that
- new portlets are now available:
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/WSRP/bea_insider.png" format="PNG" align="center" valign="middle"
- scalefit="1"/>
- </imageobject>
- </mediaobject>
</para>
</sect3>
@@ -873,14 +770,16 @@
<title>Registration modification on producer error</title>
<para>
- It can also happen that a producer administrator decided to require more information from registered
+ It can also happen that a producer administrator decided to change its requirement forregistered
consumers. In this case, invoking operations on the producer will fail with an
<exceptionname>OperationFailedFault</exceptionname>. &PRODUCT_NAME; will attempt to help you in this
situation. Let's walk through an example using the
<literal>self</literal>
producer. Let's assume that
- registration is required without any registration properties (as is the case by default). If you go to
- the configuration screen for this producer, you should see:
+ registration is requiring a valid value for an
+ <literal>email</literal>
+ registration property (as we have seen so far). If you go to the configuration screen for this producer,
+ you should see:
<mediaobject>
<imageobject>
<imagedata fileref="images/WSRP/config_self.png" format="PNG" align="center" valign="middle"
@@ -888,10 +787,11 @@
</imageobject>
</mediaobject>
- Now suppose that the administrator of the producer now requires a value to be provided for an
- <literal>email</literal>
+ Now suppose that the administrator of the producer now additionaly requires a value to be provided for a
+ <literal>name</literal>
registration property. We will actually see how to do perform this operation
- in &PRODUCT_NAME; when we examine how to configure Portal's producer in<xref linkend="producer_config"/>.
+ in &PRODUCT_NAME; when we examine how to configure &PRODUCT_NAME;'s producer in
+ <xref linkend="producer_config"/>.
Operations with this producer will now fail. If you suspect that a registration modification is required,
you should go to the configuration screen for this remote producer and refresh the information held by
the consumer by pressing "Refresh & Save":
@@ -904,7 +804,7 @@
As you can see, the configuration screen now shows the currently held registration information and
the expected information from the producer. Enter a value for the
- <literal>email</literal>
+ <literal>name</literal>
property
and then click on "Modify registration". If all went well and the producer accepted your new registration
data, you should see something similar to:
@@ -1008,14 +908,12 @@
<para>
You can configure the behavior of Portal's WSRP Producer by using the WSRP administration interface, which
is the preferred way, or by editing the
- <filename>conf/config.xml</filename>
- file found in
- <filename>portal-wsrp.sar</filename>. Several aspects can be modified with respects to whether
- registration is required for consumers to access the Producer's services. An XML Schema for the
- configuration
- format is available at<filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-producer_2_6.xsd</filename>,
- while a (legacy) DTD is available at
- <filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-producer_2_6.dtd</filename>
+ <filename>$GATEIN_HOME/wsrp-producer.war/WEB-INF/conf/producer/config.xml</filename>
+ file. Several aspects can be modified with respects to whether registration is required for consumers to
+ access the Producer's services. An XML Schema for the configuration format is available at
+ <filename>
+ $GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar/xsd/gatein_wsrp_producer_1_0.xsd
+ </filename>.
</para>
</sect2>
<sect2>
@@ -1046,8 +944,8 @@
As would be expected, you can specify whether or not the producer will send the full service description to
unregistered consumers, and, if it requires registration, which
<classname>RegistrationPolicy</classname>
- to
- use (and, if needed, which<classname>RegistrationPropertyValidator</classname>), along with required
+ to use (and, if needed, which
+ <classname>RegistrationPropertyValidator</classname>), along with required
registration property description for which consumers must provide acceptable values to successfully
register.
</para>
14 years, 5 months
gatein SVN: r2682 - portal/trunk/docs/reference-guide/en/modules/AuthenticationAndIdentity.
by do-not-reply@jboss.org
Author: sohil.shah(a)jboss.com
Date: 2010-04-16 12:07:07 -0400 (Fri, 16 Apr 2010)
New Revision: 2682
Modified:
portal/trunk/docs/reference-guide/en/modules/AuthenticationAndIdentity/SSO.xml
Log:
doc update
Modified: portal/trunk/docs/reference-guide/en/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/AuthenticationAndIdentity/SSO.xml 2010-04-16 15:09:38 UTC (rev 2681)
+++ portal/trunk/docs/reference-guide/en/modules/AuthenticationAndIdentity/SSO.xml 2010-04-16 16:07:07 UTC (rev 2682)
@@ -264,29 +264,92 @@
<itemizedlist>
<listitem>
<para>
- In the <filename>gatein.ear/02portal.war/groovy/portal/webui/UILoginForm.gtmpl</filename> file replace the javascript code at the end with:
-<programlisting><script>
-<%=uicomponent.event("Close");%>
- window.location = 'http://localhost:8888/cas/login?service=http://localhost:8080/portal/private/classic';
-</script>
+ In the <filename>gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+-->
+<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+]]>
</programlisting>
</para>
</listitem>
<listitem>
<para>
- Replace the contents of the <filename>gatein.ear/02portal.war/login/jsp/login.jsp</filename> file with:
-
-
+ In the <filename>gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
+-->
+<a href="/portal/sso"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
+]]>
+</programlisting>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Replace the entire contents of <filename>gatein.ear/02portal.war/login/jsp/login.jsp</filename> with:
+ </para>
<programlisting><html>
<head>
<script type="text/javascript">
- window.location = 'http://localhost:8888/cas/login?service=http://localhost:8080/portal/private/classic';
+ window.location = '/portal/sso';
</script>
</head>
<body>
</body>
</html>
</programlisting>
+ </listitem>
+ <listitem>
+ <para>
+ Add the following Filters at the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
+
+
+<programlisting>
+<![CDATA[
+ <filter>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
+ <init-param>
+ <!-- This should point to your SSO authentication server -->
+ <param-name>LOGIN_URL</param-name>
+ <!--
+ If casRenewTicket param value of InitiateLoginServlet is: not specified or false
+ -->
+ <param-value>http://localhost:8888/cas/login?service=http://localhost:8080/portal/priv...</param-value>
+ <!--
+ If casRenewTicket param value of InitiateLoginServlet is : true
+ -->
+ <!--
+ <param-value>http://localhost:8888/cas/login?service=http://localhost:8080/portal/private
+ /classic&renew=true</param-value>
+ -->
+ </init-param>
+ </filter>
+ <filter>
+ <filter-name>CASLogoutFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.CASLogoutFilter</filter-class>
+ <init-param>
+ <!-- This should point to your JOSSO authentication server -->
+ <param-name>LOGOUT_URL</param-name>
+ <param-value>http://localhost:8888/cas/logout</param-value>
+ </init-param>
+ </filter>
+
+ <!-- Mapping the filters at the very top of the filter chain -->
+ <filter-mapping>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CASLogoutFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+]]>
+</programlisting>
</para>
</listitem>
<listitem>
@@ -299,6 +362,10 @@
<param-name>ssoServerUrl</param-name>
<param-value>http://localhost:8888/cas</param-value>
</init-param>
+ <init-param>
+ <param-name>casRenewTicket</param-name>
+ <param-value>false</param-value>
+ </init-param>
</servlet>
</programlisting>
</para>
@@ -469,14 +536,29 @@
<itemizedlist>
<listitem>
<para>
- Replace the javascript at the bottom <filename>gatein.ear/02portal.war/groovy/portal/webui/UILoginForm.gtmpl</filename> with:
+ In the <filename>gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+-->
+<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+]]>
+</programlisting>
</para>
-<programlisting><script>
- <%=uicomponent.event("Close");%>
- window.location = 'http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhost:8080/portal/private/classic';
-</script>
+ </listitem>
+ <listitem>
+ <para>
+ In the <filename>gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
+-->
+<a href="/portal/sso"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
+]]>
</programlisting>
-
+ </para>
</listitem>
<listitem>
<para>
@@ -485,7 +567,7 @@
<programlisting><html>
<head>
<script type="text/javascript">
- window.location = 'http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhost:8080/portal/private/classic';
+ window.location = '/portal/sso';
</script>
</head>
<body>
@@ -495,6 +577,46 @@
</listitem>
<listitem>
<para>
+ Add the following Filters at the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
+
+
+<programlisting>
+<![CDATA[
+ <filter>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
+ <init-param>
+ <!-- This should point to your SSO authentication server -->
+ <param-name>LOGIN_URL</param-name>
+ <param-value>http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhos...
+ /private/classic</param-value>
+ </init-param>
+ </filter>
+ <filter>
+ <filter-name>JOSSOLogoutFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.JOSSOLogoutFilter</filter-class>
+ <init-param>
+ <!-- This should point to your JOSSO authentication server -->
+ <param-name>LOGOUT_URL</param-name>
+ <param-value>http://localhost:8888/josso/signon/logout.do</param-value>
+ </init-param>
+ </filter>
+
+ <!-- filters should be placed at the very top of the filter chain -->
+ <filter-mapping>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>JOSSOLogoutFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+]]>
+</programlisting>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
</para>
<programlisting><servlet>
@@ -742,23 +864,38 @@
<itemizedlist>
<listitem>
<para>
- Replace the javascript at the bottom of <filename>gatein.ear/02portal.war/groovy/portal/webui/UILoginForm.gtmpl</filename> with:
+ In the <filename>gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+-->
+<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
+]]>
+</programlisting>
</para>
-<programlisting><script>
-<%=uicomponent.event("Close");%>
- window.location = 'http://localhost:8888/opensso/UI/Login?realm=gatein&goto=http://localhost:8080/portal/private/classic';
-</script>
+ </listitem>
+ <listitem>
+ <para>
+ In the <filename>gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename> file modify the 'Sign In' link as follows:
+<programlisting>
+<![CDATA[
+<!--
+<a onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
+-->
+<a href="/portal/sso"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
+]]>
</programlisting>
-
+ </para>
</listitem>
<listitem>
<para>
- Replace the contents of <filename>gatein.ear/02portal.war/login/jsp/login.jsp</filename> with:
- </para>
+ Replace the entire contents of <filename>gatein.ear/02portal.war/login/jsp/login.jsp</filename> with:
+ </para>
<programlisting><html>
<head>
<script type="text/javascript">
- window.location = 'http://localhost:8888/opensso/UI/Login?realm=gatein&goto=http://localhost:8080/portal/private/classic';
+ window.location = '/portal/sso';
</script>
</head>
<body>
@@ -768,22 +905,61 @@
</listitem>
<listitem>
<para>
- Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
+ Add the following Filters at the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
+
+
+<programlisting>
+<![CDATA[
+ <filter>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
+ <init-param>
+ <!-- This should point to your SSO authentication server -->
+ <param-name>LOGIN_URL</param-name>
+ <param-value>http://localhost:8888/opensso/UI/Login?realm=gatein&goto=http://local...
+ /portal/private/classic</param-value>
+ </init-param>
+ </filter>
+ <filter>
+ <filter-name>OpenSSOLogoutFilter</filter-name>
+ <filter-class>org.gatein.sso.agent.filter.OpenSSOLogoutFilter</filter-class>
+ <init-param>
+ <!-- This should point to your OpenSSO authentication server -->
+ <param-name>LOGOUT_URL</param-name>
+ <param-value>http://localhost:8888/opensso/UI/Logout</param-value>
+ </init-param>
+ </filter>
+
+ <!-- place the filters at the top of the filter chain -->
+ <filter-mapping>
+ <filter-name>LoginRedirectFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>OpenSSOLogoutFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+]]>
+</programlisting>
</para>
+ </listitem>
+ <listitem>
+ <para>
+ Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
+ </para>
<programlisting><servlet>
<servlet-name>InitiateLoginServlet</servlet-name>
<servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>
<init-param>
<param-name>ssoServerUrl</param-name>
<param-value>http://localhost:8888/opensso</param-value>
- </init-param>
+ </init-param>
<init-param>
<param-name>ssoCookieName</param-name>
<param-value>iPlanetDirectoryPro</param-value>
- </init-param>
+ </init-param>
</servlet>
</programlisting>
-
</listitem>
</itemizedlist>
</para>
14 years, 5 months
gatein SVN: r2681 - in components/wsrp/trunk: api/src/main/resources and 4 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-04-16 11:09:38 -0400 (Fri, 16 Apr 2010)
New Revision: 2681
Added:
components/wsrp/trunk/api/src/main/resources/
components/wsrp/trunk/api/src/main/resources/xsd/
components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_consumer_1_0.xsd
components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_producer_1_0.xsd
Modified:
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java
components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml
components/wsrp/trunk/wsrp-producer-war/src/main/webapp/WEB-INF/conf/producer/config.xml
Log:
- GTNWSRP-29: Updated XML schemas for consumer and producer descriptors.
Added: components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_consumer_1_0.xsd
===================================================================
--- components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_consumer_1_0.xsd (rev 0)
+++ components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_consumer_1_0.xsd 2010-04-16 15:09:38 UTC (rev 2681)
@@ -0,0 +1,166 @@
+<?xml version="1.0"?>
+
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2010, Red Hat Middleware, LLC, and individual
+ ~ contributors as indicated by the @authors tag. See the
+ ~ copyright.txt in the distribution for a full listing of
+ ~ individual contributors.
+ ~
+ ~ This is free software; you can redistribute it and/or modify it
+ ~ under the terms of the GNU Lesser General Public License as
+ ~ published by the Free Software Foundation; either version 2.1 of
+ ~ the License, or (at your option) any later version.
+ ~
+ ~ This software is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public
+ ~ License along with this software; if not, write to the Free
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace"
+ xmlns:wcc="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ elementFormDefault="qualified"
+ version="1.0">
+
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xs:element name="deployments">
+ <xs:annotation>
+ <xs:documentation>Root element. Contains deployment elements.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="deployment" type="wcc:Deployment" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:complexType name="Deployment">
+ <xs:annotation>
+ <xs:documentation>Deployment related information. Currently, the only deployment information relates to
+ WSRP remote producers.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="wsrp-producer" type="wcc:WSRPProducer" maxOccurs="1" minOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="WSRPProducer">
+ <xs:annotation>
+ <xs:documentation>Information on a remote WSRP producer identified by the mandatory id attribute.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="endpoint-wsdl-url" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>
+ The URL of the WSDL description of the producer's WSRP services. Mutally exclusive with
+ endpoint-config.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="registration-data" type="wcc:RegistrationData" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ Container for registration information.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ The producer identifier. This should be unique for a given Portal deployment. The identifier is used to
+ identify the portlet provider in the management interface.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="expiration-cache" type="wcc:positiveIntegerOrMinusOne" use="required">
+ <xs:annotation>
+ <xs:documentation>The period of producer information (such as list of offered portlets) cache refreshing in
+ seconds.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="ws-timeout" type="wcc:positiveIntegerOrMinusOne" use="optional">
+ <xs:annotation>
+ <xs:documentation>Timeout in milliseconds for WS operations (optional).
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:simpleType name="positiveIntegerOrMinusOne" id="positiveIntegerOrMinusOne">
+ <xs:annotation>
+ <xs:documentation>
+ Type for cache or timeout information. Positive or null integer, allowing -1 as a value to indicate that
+ cache should not
+ be used.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="-1"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="RegistrationData">
+ <xs:sequence>
+ <xs:element name="consumer-name" type="xs:string" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ An optional name (preferably unique) that identifies the Consumer. An example of such a name would be
+ the Consumer's URL. If no consumer-name is provided, one will be automatically generated by JBoss
+ Portal.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="property" type="wcc:Property" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ Optional registration properties required by the remote producer.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Property">
+ <xs:annotation>
+ <xs:documentation>
+ Registration property.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Name of the property.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="lang" type="xs:language">
+ <xs:annotation>
+ <xs:documentation>
+ Language the property is in.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="value" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Value of the property.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
Added: components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_producer_1_0.xsd
===================================================================
--- components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_producer_1_0.xsd (rev 0)
+++ components/wsrp/trunk/api/src/main/resources/xsd/gatein_wsrp_producer_1_0.xsd 2010-04-16 15:09:38 UTC (rev 2681)
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2010, Red Hat Middleware, LLC, and individual
+ ~ contributors as indicated by the @authors tag. See the
+ ~ copyright.txt in the distribution for a full listing of
+ ~ individual contributors.
+ ~
+ ~ This is free software; you can redistribute it and/or modify it
+ ~ under the terms of the GNU Lesser General Public License as
+ ~ published by the Free Software Foundation; either version 2.1 of
+ ~ the License, or (at your option) any later version.
+ ~
+ ~ This software is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public
+ ~ License along with this software; if not, write to the Free
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.gatein.org/xml/ns/gatein_wsrp_producer_1_0"
+ xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_producer_1_0"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace"
+ xmlns:wpc="http://www.gatein.org/xml/ns/gatein_wsrp_producer_1_0"
+ elementFormDefault="qualified"
+ version="1.0">
+
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xs:element name="producer-configuration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="registration-configuration" type="wpc:RegistrationConfiguration"/>
+ </xs:sequence>
+ <xs:attribute name="useStrictMode" type="xs:boolean" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:complexType name="RegistrationConfiguration">
+ <xs:sequence>
+ <xs:element name="registration-policy" type="xs:string" minOccurs="0"/>
+ <xs:element name="registration-property-validator" type="xs:string" minOccurs="0"/>
+ <xs:element name="registration-property-description" type="wpc:RegistrationPropertyDescription" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="fullServiceDescriptionRequiresRegistration" type="xs:boolean" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="RegistrationPropertyDescription">
+ <xs:sequence>
+ <xs:element name="name" type="xs:QName"/>
+ <xs:element name="type" type="xs:QName"/>
+ <xs:element name="label" type="wpc:LocalizedString" minOccurs="0"/>
+ <xs:element name="hint" type="wpc:LocalizedString" minOccurs="0"/>
+ <xs:element name="description" type="wpc:LocalizedString" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="LocalizedString">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="xml:lang" use="required"/>
+ <xs:attribute name="resourceName" type="xs:string" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+</xs:schema>
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java 2010-04-16 13:11:31 UTC (rev 2680)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java 2010-04-16 15:09:38 UTC (rev 2681)
@@ -209,7 +209,7 @@
ProducerInfo prodInfo = consumer.getProducerInfo();
- if ("endpoint-config".equals(localName) || "endpoint-wsdl-url".equals(localName))
+ if ("endpoint-wsdl-url".equals(localName))
{
return prodInfo.getEndpointConfigurationInfo();
}
Modified: components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml
===================================================================
--- components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml 2010-04-16 13:11:31 UTC (rev 2680)
+++ components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml 2010-04-16 15:09:38 UTC (rev 2681)
@@ -23,8 +23,9 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<deployments xmlns="urn:jboss:portal:wsrp:consumer:v2_7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jboss:portal:wsrp:consumer:v2_7 http://www.jboss.org/portal/xsd/jboss-wsrp-consumer_2_7.xsd">
+<deployments xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_wsrp_consumer_1_0 http://www.jboss.org/portal/xsd/gatein_wsrp_consumer_1_0.xsd">
<deployment>
<wsrp-producer id="self" expiration-cache="300" ws-timeout="30000">
<endpoint-wsdl-url>http://localhost:8080/wsrp-producer/MarkupService?wsdl</endpoint-wsdl-url>
Modified: components/wsrp/trunk/wsrp-producer-war/src/main/webapp/WEB-INF/conf/producer/config.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/src/main/webapp/WEB-INF/conf/producer/config.xml 2010-04-16 13:11:31 UTC (rev 2680)
+++ components/wsrp/trunk/wsrp-producer-war/src/main/webapp/WEB-INF/conf/producer/config.xml 2010-04-16 15:09:38 UTC (rev 2681)
@@ -1,6 +1,6 @@
<!--
~ JBoss, a division of Red Hat
- ~ Copyright 2009, Red Hat Middleware, LLC, and individual
+ ~ Copyright 2010, Red Hat Middleware, LLC, and individual
~ contributors as indicated by the @authors tag. See the
~ copyright.txt in the distribution for a full listing of
~ individual contributors.
@@ -9,7 +9,7 @@
~ under the terms of the GNU Lesser General Public License as
~ published by the Free Software Foundation; either version 2.1 of
~ the License, or (at your option) any later version.
- ~
+ ~
~ This software is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -27,9 +27,9 @@
-->
<!-- Configuration using registration with default registration property validator. -->
-<producer-configuration xmlns="urn:jboss:portal:wsrp:producer:v2_7"
+<producer-configuration xmlns="http://www.gatein.org/xml/ns/gatein_wsrp_producer_1_0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jboss:portal:wsrp:producer:v2_7 http://www.jboss.org/portal/xsd/jboss-wsrp-producer_2_7.xsd">
+ xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_wsrp_producer_1_0 http://www.jboss.org/portal/xsd/jboss-wsrp-producer_2_7.xsd">
<registration-configuration fullServiceDescriptionRequiresRegistration="true">
<registration-property-validator>org.gatein.registration.policies.DefaultRegistrationPropertyValidator
</registration-property-validator>
14 years, 5 months
gatein SVN: r2680 - portal/branches/EPP_5_0_0_CR01_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-04-16 09:11:31 -0400 (Fri, 16 Apr 2010)
New Revision: 2680
Modified:
portal/branches/EPP_5_0_0_CR01_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
Log:
JBEPP-309: Captcha verification after validation of existing username or e-mail
Modified: portal/branches/EPP_5_0_0_CR01_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
===================================================================
--- portal/branches/EPP_5_0_0_CR01_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2010-04-16 12:51:06 UTC (rev 2679)
+++ portal/branches/EPP_5_0_0_CR01_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2010-04-16 13:11:31 UTC (rev 2680)
@@ -94,9 +94,6 @@
{
// Invalidate the captcha image
PortalRequestContext prContext = Util.getPortalRequestContext();
- HttpServletRequest request = prContext.getRequest();
- HttpSession session = request.getSession();
- session.removeAttribute(Captcha.NAME);
UIRegisterForm registerForm = event.getSource();
OrganizationService orgService = registerForm.getApplicationComponent(OrganizationService.class);
@@ -109,6 +106,9 @@
//TODO: Send email and add Account Activating feature
UIApplication uiApp = context.getUIApplication();
uiApp.addMessage(new ApplicationMessage("UIRegisterForm.registerWithSuccess.message", null));
+ HttpServletRequest request = prContext.getRequest();
+ HttpSession session = request.getSession();
+ session.removeAttribute(Captcha.NAME);
}
}
}
14 years, 5 months
gatein SVN: r2679 - portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-04-16 08:51:06 -0400 (Fri, 16 Apr 2010)
New Revision: 2679
Modified:
portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
Log:
JBEPP-309: Captcha verification after validation of existing username or e-mail
Modified: portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
===================================================================
--- portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2010-04-16 12:44:34 UTC (rev 2678)
+++ portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2010-04-16 12:51:06 UTC (rev 2679)
@@ -94,9 +94,6 @@
{
// Invalidate the captcha image
PortalRequestContext prContext = Util.getPortalRequestContext();
- HttpServletRequest request = prContext.getRequest();
- HttpSession session = request.getSession();
- session.removeAttribute(Captcha.NAME);
UIRegisterForm registerForm = event.getSource();
OrganizationService orgService = registerForm.getApplicationComponent(OrganizationService.class);
@@ -109,6 +106,9 @@
//TODO: Send email and add Account Activating feature
UIApplication uiApp = context.getUIApplication();
uiApp.addMessage(new ApplicationMessage("UIRegisterForm.registerWithSuccess.message", null));
+ HttpServletRequest request = prContext.getRequest();
+ HttpSession session = request.getSession();
+ session.removeAttribute(Captcha.NAME);
}
}
}
14 years, 5 months
gatein SVN: r2678 - portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-04-16 08:44:34 -0400 (Fri, 16 Apr 2010)
New Revision: 2678
Modified:
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
Log:
GTNPORTAL-1093: Captcha verification after validation of existing username or e-mail
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2010-04-16 11:48:51 UTC (rev 2677)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2010-04-16 12:44:34 UTC (rev 2678)
@@ -94,9 +94,6 @@
{
// Invalidate the captcha image
PortalRequestContext prContext = Util.getPortalRequestContext();
- HttpServletRequest request = prContext.getRequest();
- HttpSession session = request.getSession();
- session.removeAttribute(Captcha.NAME);
UIRegisterForm registerForm = event.getSource();
OrganizationService orgService = registerForm.getApplicationComponent(OrganizationService.class);
@@ -109,6 +106,9 @@
//TODO: Send email and add Account Activating feature
UIApplication uiApp = context.getUIApplication();
uiApp.addMessage(new ApplicationMessage("UIRegisterForm.registerWithSuccess.message", null));
+ HttpServletRequest request = prContext.getRequest();
+ HttpSession session = request.getSession();
+ session.removeAttribute(Captcha.NAME);
}
}
}
14 years, 5 months
gatein SVN: r2677 - in components/wsrp/trunk/consumer/src/main: resources/conf and 1 other directory.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-04-16 07:48:51 -0400 (Fri, 16 Apr 2010)
New Revision: 2677
Modified:
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java
components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml
Log:
- GTNWSRP-28: Add possibility to set WS timeout in consumers XML descriptor.
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java 2010-04-16 10:30:10 UTC (rev 2676)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLWSRPConsumerFactory.java 2010-04-16 11:48:51 UTC (rev 2677)
@@ -1,25 +1,25 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.gatein.wsrp.consumer.registry.xml;
import org.gatein.common.util.ParameterValidation;
@@ -28,6 +28,7 @@
import org.gatein.wsrp.consumer.ProducerInfo;
import org.gatein.wsrp.consumer.RegistrationInfo;
import org.gatein.wsrp.consumer.registry.ConsumerRegistry;
+import org.gatein.wsrp.services.ServiceFactory;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.xb.binding.GenericObjectModelFactory;
import org.jboss.xb.binding.UnmarshallingContext;
@@ -172,8 +173,23 @@
}
}
+ String wsTimeout = attrs.getValue("ws-timeout");
+ Integer wsTimeoutMS = ServiceFactory.DEFAULT_TIMEOUT_MS;
+ if (wsTimeout != null)
+ {
+ try
+ {
+ wsTimeoutMS = new Integer(wsTimeout);
+ }
+ catch (NumberFormatException e)
+ {
+ log.info("Ignoring bad WS timeout value " + wsTimeout + " for producer '" + id + "'");
+ }
+ }
+
// consumer didn't exist in the database, so create one and configure it
consumer = consumerRegistry.createConsumer(id, expirationCacheSeconds, null);
+ consumer.getProducerInfo().getEndpointConfigurationInfo().setWSOperationTimeOut(wsTimeoutMS);
return consumer;
}
Modified: components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml
===================================================================
--- components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml 2010-04-16 10:30:10 UTC (rev 2676)
+++ components/wsrp/trunk/consumer/src/main/resources/conf/wsrp-consumers-config.xml 2010-04-16 11:48:51 UTC (rev 2677)
@@ -1,32 +1,32 @@
<?xml version='1.0' encoding='UTF-8' ?>
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~ JBoss, a division of Red Hat ~
- ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
- ~ contributors as indicated by the @authors tag. See the ~
- ~ copyright.txt in the distribution for a full listing of ~
- ~ individual contributors. ~
- ~ ~
- ~ This is free software; you can redistribute it and/or modify it ~
- ~ under the terms of the GNU Lesser General Public License as ~
- ~ published by the Free Software Foundation; either version 2.1 of ~
- ~ the License, or (at your option) any later version. ~
- ~ ~
- ~ This software is distributed in the hope that it will be useful, ~
- ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
- ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
- ~ Lesser General Public License for more details. ~
- ~ ~
- ~ You should have received a copy of the GNU Lesser General Public ~
- ~ License along with this software; if not, write to the Free ~
- ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
- ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2010, Red Hat Middleware, LLC, and individual
+ ~ contributors as indicated by the @authors tag. See the
+ ~ copyright.txt in the distribution for a full listing of
+ ~ individual contributors.
+ ~
+ ~ This is free software; you can redistribute it and/or modify it
+ ~ under the terms of the GNU Lesser General Public License as
+ ~ published by the Free Software Foundation; either version 2.1 of
+ ~ the License, or (at your option) any later version.
+ ~
+ ~ This software is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public
+ ~ License along with this software; if not, write to the Free
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
<deployments xmlns="urn:jboss:portal:wsrp:consumer:v2_7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jboss:portal:wsrp:consumer:v2_7 http://www.jboss.org/portal/xsd/jboss-wsrp-consumer_2_7.xsd">
<deployment>
- <wsrp-producer id="self" expiration-cache="300">
+ <wsrp-producer id="self" expiration-cache="300" ws-timeout="30000">
<endpoint-wsdl-url>http://localhost:8080/wsrp-producer/MarkupService?wsdl</endpoint-wsdl-url>
<registration-data/>
</wsrp-producer>
14 years, 5 months
gatein SVN: r2676 - portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-04-16 06:30:10 -0400 (Fri, 16 Apr 2010)
New Revision: 2676
Added:
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.properties
Removed:
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.xml
Log:
GTNPORTAL-1070 Translate GateIn in VNeses
Added: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.properties
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.properties (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.properties 2010-04-16 10:30:10 UTC (rev 2676)
@@ -0,0 +1,36 @@
+#
+# Copyright (C) 2009 eXo Platform SAS.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+
+UIRegisterForm.registerWithSuccess.message=Bạn đã đăng ký thành công tài khoản!
+UIRegisterForm.title=Đăng ký tài khoản mới
+UIRegisterForm.label.action.CheckUsernameAvailability=Kiểm tra sự tồn tại
+
+UIRegisterForm.label.username=Tên đăng nhập:
+UIRegisterForm.label.password=Mật khẩu:
+UIRegisterForm.label.confirmPassword=Xác nhận mật khẩu:
+UIRegisterForm.label.firstName=Tên:
+UIRegisterForm.label.lastName=Họ:
+UIRegisterForm.label.emailAddress=Địa chỉ email:
+UIRegisterForm.label.captcha=Mã xác nhận:
+UIRegisterForm.Action.Subscribe=Đăng ký
+UIRegisterForm.Action.Reset=Nhập lại
+
+UIRegisterEditMode.title=Đăng ký Portlet Preferences
+UIRegisterEditMode.label.useCaptcha=Dùng mã xác nhận:
+
Property changes on: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.properties
___________________________________________________________________
Name: svn:executable
+ *
Deleted: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.xml
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.xml 2010-04-16 09:23:29 UTC (rev 2675)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_vi.xml 2010-04-16 10:30:10 UTC (rev 2676)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bundle>
- <UIRegisterForm>
- <registerWithSuccess>
- <message>Bạn đã đăng ký thành công tài khoản.</message>
- </registerWithSuccess>
- <title>Đăng ký tài khoản mới</title>
- <label>
- <action>
- <CheckUsernameAvailability>Kiểm tra tên đăng nhập</CheckUsernameAvailability>
- </action>
- <username>Tên đăng nhập</username>
- <password>Mật khẩu</password>
- <confirmPassword>Xác nhận mật khẩu</confirmPassword>
- <firstName>Tên</firstName>
- <lastName>Họ</lastName>
- <emailAddress>Địa chỉ email</emailAddress>
- </label>
- <action>
- <Subscribe>Đăng ký</Subscribe>
- <Reset>Nhập lại</Reset>
- </action>
- </UIRegisterForm>
-</bundle>
\ No newline at end of file
14 years, 5 months
gatein SVN: r2675 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium.
by do-not-reply@jboss.org
Author: mvanco(a)redhat.com
Date: 2010-04-16 05:23:29 -0400 (Fri, 16 Apr 2010)
New Revision: 2675
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_20_026_CreateSameNamePortalPagesInDifferentPortals.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19_EditPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20_DeletePortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_23_AddNavigation.html
Log:
UI Tests: fixed tests - SNF_PRL_20, SNF_PRL_19, SNF_PRL_23, POR_20_026, speed and waiting issues
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_20_026_CreateSameNamePortalPagesInDifferentPortals.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_20_026_CreateSameNamePortalPagesInDifferentPortals.html 2010-04-16 07:41:09 UTC (rev 2674)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_20_026_CreateSameNamePortalPagesInDifferentPortals.html 2010-04-16 09:23:29 UTC (rev 2675)
@@ -77,6 +77,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForTextPresent</td>
+ <td>Page Setting</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>ownerType</td>
<td></td>
@@ -272,14 +277,14 @@
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]</td>
+ <td>waitForTextPresent</td>
+ <td>Test_POR_20_026</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Test_POR_20_026</td>
- <td>1,1</td>
+ <td></td>
</tr>
<tr>
<td>echo</td>
@@ -292,13 +297,18 @@
<td></td>
</tr>
<tr>
+ <td>pause</td>
+ <td>5000</td>
+ <td></td>
+</tr>
+<tr>
<td>echo</td>
<td>--Select Page Mangement on menu item--</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Page Management</td>
+ <td>//a[text()='Page Management' and contains(@href, 'Test_POR_20_026')]</td>
<td></td>
</tr>
<tr>
@@ -322,6 +332,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForTextPresent</td>
+ <td>Page Setting</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>ownerType</td>
<td></td>
@@ -397,6 +412,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementNotPresent</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
<td>echo</td>
<td>--Search new page created--</td>
<td></td>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19_EditPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19_EditPortal.html 2010-04-16 07:41:09 UTC (rev 2674)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19_EditPortal.html 2010-04-16 09:23:29 UTC (rev 2675)
@@ -182,9 +182,14 @@
<td>1,1</td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=test_node_label_19</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Save</td>
- <td>1,1</td>
+ <td></td>
</tr>
<tr>
<td>echo</td>
@@ -257,11 +262,21 @@
<td></td>
</tr>
<tr>
+ <td>waitForTextNotPresent</td>
+ <td>Permission Selector</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']</td>
<td></td>
</tr>
<tr>
+ <td>waitForTextNotPresent</td>
+ <td>Portal Setting</td>
+ <td></td>
+</tr>
+<tr>
<td>open</td>
<td>/portal/private/classic/</td>
<td></td>
@@ -283,7 +298,7 @@
</tr>
<tr>
<td>verifyElementPresent</td>
- <td>//div[@class='SelectedNavigationTab']//a</td>
+ <td>//div[@class='SelectedNavigationTab']//a[text()='test_node_label_19']</td>
<td></td>
</tr>
<tr>
@@ -342,6 +357,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementNotPresent</td>
+ <td>link=test_node_label_19</td>
+ <td></td>
+</tr>
+<tr>
<td>echo</td>
<td>--Verify Deletion</td>
<td></td>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20_DeletePortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20_DeletePortal.html 2010-04-16 07:41:09 UTC (rev 2674)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20_DeletePortal.html 2010-04-16 09:23:29 UTC (rev 2675)
@@ -172,8 +172,8 @@
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
- <td>xpath=//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]</td>
+ <td>waitForTextPresent</td>
+ <td>test_portal_name_20</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_23_AddNavigation.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_23_AddNavigation.html 2010-04-16 07:41:09 UTC (rev 2674)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_23_AddNavigation.html 2010-04-16 09:23:29 UTC (rev 2675)
@@ -137,11 +137,21 @@
<td>1,1</td>
</tr>
<tr>
+ <td>waitForTextNotPresent</td>
+ <td>Page Selector</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Save</td>
<td>1,1</td>
</tr>
<tr>
+ <td>waitForTextNotPresent</td>
+ <td>Navigation Management</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>//div[@ID='UIGroupNavigationGrid']//table[1]//a[@class='EditNavIcon']</td>
<td></td>
@@ -152,6 +162,16 @@
<td></td>
</tr>
<tr>
+ <td>pause</td>
+ <td>5000</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title='test_grp_label_23']</td>
+ <td></td>
+</tr>
+<tr>
<td>verifyElementPresent</td>
<td>//a[@title='test_grp_label_23']</td>
<td></td>
@@ -187,6 +207,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForTextNotPresent</td>
+ <td>Navigation Management</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Sign out</td>
<td></td>
14 years, 5 months