gatein SVN: r7968 - epp/portal/branches/EPP_5_2_Branch.
by do-not-reply@jboss.org
Author: hfnukal
Date: 2011-11-03 19:02:44 -0400 (Thu, 03 Nov 2011)
New Revision: 7968
Modified:
epp/portal/branches/EPP_5_2_Branch/pom.xml
Log:
JBEPP-1338 Upgrade Components
Modified: epp/portal/branches/EPP_5_2_Branch/pom.xml
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
+++ epp/portal/branches/EPP_5_2_Branch/pom.xml 2011-11-03 23:02:44 UTC (rev 7968)
@@ -45,23 +45,23 @@
<org.exoplatform.jcr.version>1.14.3-GA</org.exoplatform.jcr.version>
<org.exoplatform.doc-style.version>1</org.exoplatform.doc-style.version>
<org.jibx.version>1.2.1</org.jibx.version>
- <org.shindig.version>2.0.2-Beta03</org.shindig.version>
+ <org.shindig.version>2.0.2</org.shindig.version>
<nl.captcha.simplecaptcha.version>1.1.1-GA-Patch01</nl.captcha.simplecaptcha.version>
<org.gatein.parent.version>1.1.0-GA</org.gatein.parent.version>
<org.gatein.common.version>2.0.4-GA</org.gatein.common.version>
<org.gatein.dep.version>1.1.0-GA</org.gatein.dep.version>
<org.gatein.wci.version>2.1.0-GA</org.gatein.wci.version>
- <org.gatein.pc.version>2.3.0-Beta07</org.gatein.pc.version>
+ <org.gatein.pc.version>2.3.0-GA</org.gatein.pc.version>
<org.picketlink.idm>1.3.0.GA</org.picketlink.idm>
<org.gatein.wsrp.version>2.1.0-EPP520-Beta08</org.gatein.wsrp.version>
- <org.gatein.mop.version>1.1.0-Beta07</org.gatein.mop.version>
+ <org.gatein.mop.version>1.1.0-GA</org.gatein.mop.version>
<org.gatein.mgmt.version>1.0.0-GA</org.gatein.mgmt.version>
<org.slf4j.version>1.5.8</org.slf4j.version>
<commons-pool.version>1.5.5</commons-pool.version>
<rhino.version>1.6R5</rhino.version>
<org.codehaus.groovy.version>1.7.6</org.codehaus.groovy.version>
<javax.servlet.version>2.5</javax.servlet.version>
- <version.chromattic>1.1.0</version.chromattic>
+ <version.chromattic>1.1.1</version.chromattic>
<org.staxnav.version>0.9.6</org.staxnav.version>
<jcip.version>1.0</jcip.version>
<commons-dbcp.version>1.2.2</commons-dbcp.version>
13 years, 1 month
gatein SVN: r7967 - in components/wsrp/trunk: admin-gui and 14 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-11-03 18:58:43 -0400 (Thu, 03 Nov 2011)
New Revision: 7967
Modified:
components/wsrp/trunk/admin-gui/pom.xml
components/wsrp/trunk/api/pom.xml
components/wsrp/trunk/common/pom.xml
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/hibernate-impl/pom.xml
components/wsrp/trunk/jcr-impl/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
components/wsrp/trunk/test/pom.xml
components/wsrp/trunk/ws-security/jboss5/pom.xml
components/wsrp/trunk/ws-security/pom.xml
components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml
components/wsrp/trunk/ws-security/wss/pom.xml
components/wsrp/trunk/wsrp-producer-war/pom.xml
components/wsrp/trunk/wsrp1-ws/pom.xml
components/wsrp/trunk/wsrp2-ws/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: components/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- components/wsrp/trunk/admin-gui/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/admin-gui/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-admin-gui</artifactId>
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/api/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-integration-api</artifactId>
Modified: components/wsrp/trunk/common/pom.xml
===================================================================
--- components/wsrp/trunk/common/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/common/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-common</artifactId>
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/consumer/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-consumer</artifactId>
Modified: components/wsrp/trunk/hibernate-impl/pom.xml
===================================================================
--- components/wsrp/trunk/hibernate-impl/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/hibernate-impl/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<groupId>org.gatein.wsrp</groupId>
Modified: components/wsrp/trunk/jcr-impl/pom.xml
===================================================================
--- components/wsrp/trunk/jcr-impl/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/jcr-impl/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -26,7 +26,7 @@
<parent>
<artifactId>wsrp-parent</artifactId>
<groupId>org.gatein.wsrp</groupId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -36,7 +36,7 @@
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
<packaging>pom</packaging>
@@ -47,9 +47,9 @@
</parent>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/tags/2.1.0-GA</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/tags/2.1.0-GA</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/tags/2.1.0-GA</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/trunk/</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/trunk/</url>
</scm>
<properties>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/producer/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-lib</artifactId>
Modified: components/wsrp/trunk/test/pom.xml
===================================================================
--- components/wsrp/trunk/test/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/test/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/ws-security/jboss5/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/jboss5/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/ws-security/jboss5/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wss-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wss-jboss5</artifactId>
Modified: components/wsrp/trunk/ws-security/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/ws-security/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<artifactId>wsrp-wss-parent</artifactId>
Modified: components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wss-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-jb5wss</artifactId>
Modified: components/wsrp/trunk/ws-security/wss/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/wss/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/ws-security/wss/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wss-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wss</artifactId>
Modified: components/wsrp/trunk/wsrp-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/wsrp-producer-war/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp1-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp1-ws/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/wsrp1-ws/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp1-ws</artifactId>
Modified: components/wsrp/trunk/wsrp2-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp2-ws/pom.xml 2011-11-03 22:58:29 UTC (rev 7966)
+++ components/wsrp/trunk/wsrp2-ws/pom.xml 2011-11-03 22:58:43 UTC (rev 7967)
@@ -26,7 +26,7 @@
<parent>
<artifactId>wsrp-parent</artifactId>
<groupId>org.gatein.wsrp</groupId>
- <version>2.1.0-GA</version>
+ <version>2.1.1-GA-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp2-ws</artifactId>
13 years, 1 month
gatein SVN: r7966 - components/wsrp/tags.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-11-03 18:58:29 -0400 (Thu, 03 Nov 2011)
New Revision: 7966
Added:
components/wsrp/tags/2.1.0-GA/
Log:
[maven-release-plugin] copy for tag 2.1.0-GA
13 years, 1 month
gatein SVN: r7965 - in components/wsrp/trunk: admin-gui and 14 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-11-03 18:58:19 -0400 (Thu, 03 Nov 2011)
New Revision: 7965
Modified:
components/wsrp/trunk/admin-gui/pom.xml
components/wsrp/trunk/api/pom.xml
components/wsrp/trunk/common/pom.xml
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/hibernate-impl/pom.xml
components/wsrp/trunk/jcr-impl/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
components/wsrp/trunk/test/pom.xml
components/wsrp/trunk/ws-security/jboss5/pom.xml
components/wsrp/trunk/ws-security/pom.xml
components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml
components/wsrp/trunk/ws-security/wss/pom.xml
components/wsrp/trunk/wsrp-producer-war/pom.xml
components/wsrp/trunk/wsrp1-ws/pom.xml
components/wsrp/trunk/wsrp2-ws/pom.xml
Log:
[maven-release-plugin] prepare release 2.1.0-GA
Modified: components/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- components/wsrp/trunk/admin-gui/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/admin-gui/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -21,12 +21,11 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-admin-gui</artifactId>
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/api/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-integration-api</artifactId>
Modified: components/wsrp/trunk/common/pom.xml
===================================================================
--- components/wsrp/trunk/common/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/common/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-common</artifactId>
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/consumer/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-consumer</artifactId>
Modified: components/wsrp/trunk/hibernate-impl/pom.xml
===================================================================
--- components/wsrp/trunk/hibernate-impl/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/hibernate-impl/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<groupId>org.gatein.wsrp</groupId>
Modified: components/wsrp/trunk/jcr-impl/pom.xml
===================================================================
--- components/wsrp/trunk/jcr-impl/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/jcr-impl/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -26,7 +26,7 @@
<parent>
<artifactId>wsrp-parent</artifactId>
<groupId>org.gatein.wsrp</groupId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -21,8 +21,7 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -37,7 +36,7 @@
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
<packaging>pom</packaging>
@@ -48,9 +47,9 @@
</parent>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/trunk/</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/trunk/</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/trunk/</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/tags/2.1.0-GA</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/tags/2.1.0-GA</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/tags/2.1.0-GA</url>
</scm>
<properties>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/producer/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-lib</artifactId>
Modified: components/wsrp/trunk/test/pom.xml
===================================================================
--- components/wsrp/trunk/test/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/test/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/ws-security/jboss5/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/jboss5/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/ws-security/jboss5/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wss-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wss-jboss5</artifactId>
Modified: components/wsrp/trunk/ws-security/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/ws-security/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<artifactId>wsrp-wss-parent</artifactId>
Modified: components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/ws-security/wsrp-producer-jb5wss-producer-war/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wss-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-jb5wss</artifactId>
Modified: components/wsrp/trunk/ws-security/wss/pom.xml
===================================================================
--- components/wsrp/trunk/ws-security/wss/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/ws-security/wss/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wss-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wss</artifactId>
Modified: components/wsrp/trunk/wsrp-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/wsrp-producer-war/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp1-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp1-ws/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/wsrp1-ws/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp1-ws</artifactId>
Modified: components/wsrp/trunk/wsrp2-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp2-ws/pom.xml 2011-11-03 22:51:24 UTC (rev 7964)
+++ components/wsrp/trunk/wsrp2-ws/pom.xml 2011-11-03 22:58:19 UTC (rev 7965)
@@ -26,7 +26,7 @@
<parent>
<artifactId>wsrp-parent</artifactId>
<groupId>org.gatein.wsrp</groupId>
- <version>2.1.0-Beta09-SNAPSHOT</version>
+ <version>2.1.0-GA</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp2-ws</artifactId>
13 years, 1 month
gatein SVN: r7964 - portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-11-03 18:51:24 -0400 (Thu, 03 Nov 2011)
New Revision: 7964
Modified:
portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java
Log:
- GTNPORTAL-2253: added test case, this seems to be working as expected.
Modified: portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java
===================================================================
--- portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java 2011-11-03 22:07:30 UTC (rev 7963)
+++ portal/trunk/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java 2011-11-03 22:51:24 UTC (rev 7964)
@@ -40,6 +40,7 @@
import org.exoplatform.portal.pom.config.POMSession;
import org.exoplatform.portal.pom.config.POMSessionManager;
import org.exoplatform.portal.pom.config.cache.DataCache;
+import org.exoplatform.portal.pom.data.PageKey;
import org.exoplatform.portal.pom.spi.portlet.Portlet;
import org.exoplatform.portal.pom.spi.portlet.PortletBuilder;
import org.exoplatform.services.listener.Event;
@@ -762,6 +763,33 @@
}.execute(null);
}
+ public void testCachePageEviction()
+ {
+ new UnitTest()
+ {
+ public void execute() throws Exception
+ {
+ mgr.clearCache();
+ DataCache cache = mgr.getDecorator(DataCache.class);
+ long readCount0 = cache.getReadCount();
+ userPortalConfigSer_.getPage("portal::test::test1");
+ long readCount1 = cache.getReadCount();
+ assertTrue(readCount1 > readCount0);
+ userPortalConfigSer_.getPage("portal::test::test1");
+ long readCount2 = cache.getReadCount();
+ assertEquals(readCount1, readCount2);
+
+ // schedule for eviction, we shouldn't hit the cache anymore
+ final POMSession session = mgr.getSession();
+ session.scheduleForEviction(new PageKey("portal", "test", "test1"));
+ session.save();
+
+ userPortalConfigSer_.getPage("portal::test::test1");
+ assertTrue(readCount2 < cache.getReadCount());
+ }
+ }.execute(null);
+ }
+
private abstract class UnitTest
{
13 years, 1 month
gatein SVN: r7963 - in components/wsrp/trunk: consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml and 5 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-11-03 18:07:30 -0400 (Thu, 03 Nov 2011)
New Revision: 7963
Modified:
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLConsumerRegistry.java
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/spi/ConsumerRegistrySPI.java
components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java
components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java
components/wsrp/trunk/hibernate-impl/src/main/java/org/gatein/wsrp/consumer/registry/hibernate/HibernateConsumerRegistry.java
components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java
Log:
- Fixed several issues with ConsumerRegistry implementations.
- Rewrote InMemoryConsumerCache.
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -39,12 +39,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -66,15 +67,22 @@
private static final Logger log = LoggerFactory.getLogger(AbstractConsumerRegistry.class);
- protected ConsumerCache consumers = new InMemoryConsumerCache();
+ protected ConsumerCache consumerCache;
+ protected AbstractConsumerRegistry()
+ {
+ initConsumerCache();
+ }
+
+ protected abstract void initConsumerCache();
+
public synchronized void setConsumerCache(ConsumerCache consumers)
{
if (consumers == null)
{
- consumers = new InMemoryConsumerCache();
+ consumers = new InMemoryConsumerCache(this);
}
- this.consumers = consumers;
+ this.consumerCache = consumers;
}
public synchronized void setSessionRegistry(SessionRegistry sessionRegistry)
@@ -137,7 +145,7 @@
save(info, "Couldn't create Consumer '" + id + "'");
log.debug(CONSUMER_WITH_ID + id + "' created");
- return createConsumerFrom(info);
+ return createConsumerFrom(info, true);
}
public void destroyConsumer(String id)
@@ -169,7 +177,7 @@
delete(info);
// remove from cache
- consumers.removeConsumer(id);
+ consumerCache.removeConsumer(id);
}
else
{
@@ -187,7 +195,7 @@
save(info, CONSUMER_WITH_ID + info.getId() + "' couldn't be persisted!");
- createConsumerFrom(info);
+ createConsumerFrom(info, true);
}
public synchronized void setFederatingPortletInvoker(FederatingPortletInvoker federatingPortletInvoker)
@@ -195,7 +203,7 @@
this.federatingPortletInvoker = federatingPortletInvoker;
}
- public WSRPConsumer createConsumerFrom(ProducerInfo producerInfo)
+ public WSRPConsumer createConsumerFrom(ProducerInfo producerInfo, boolean putInCache)
{
// make sure we set the registry after loading from DB since registry is not persisted.
// producerInfo.setRegistry(this);
@@ -203,7 +211,10 @@
final WSRPConsumerImpl consumer = createAndActivateIfNeeded(producerInfo);
// cache consumer
- consumers.putConsumer(producerInfo.getId(), consumer);
+ if (putInCache)
+ {
+ consumerCache.putConsumer(producerInfo.getId(), consumer);
+ }
return consumer;
}
@@ -254,7 +265,15 @@
public long getPersistedLastModifiedForProducerInfoWith(String id)
{
- return loadProducerInfo(id).getLastModified();
+ ProducerInfo producerInfo = loadProducerInfo(id);
+ if (producerInfo == null)
+ {
+ return Long.MAX_VALUE;
+ }
+ else
+ {
+ return producerInfo.getLastModified();
+ }
}
public synchronized String updateProducerInfo(ProducerInfo producerInfo)
@@ -266,7 +285,7 @@
// if we updated and oldId is not null, we need to update the local information
if (oldId != null)
{
- WSRPConsumer consumer = createConsumerFrom(producerInfo);
+ WSRPConsumer consumer = createConsumerFrom(producerInfo, true);
// update the federating portlet invoker if needed
if (federatingPortletInvoker.isResolved(oldId))
@@ -275,12 +294,10 @@
}
// update cache
- consumers.removeConsumer(oldId);
- consumers.putConsumer(producerInfo.getId(), consumer);
+ consumerCache.removeConsumer(oldId);
+ consumerCache.putConsumer(producerInfo.getId(), consumer);
}
- consumers.markAsModifiedNow();
-
return oldId;
}
@@ -291,7 +308,7 @@
public void reloadConsumers()
{
- consumers.initFromStorage();
+ consumerCache.initFromStorage();
}
public void stop() throws Exception
@@ -327,7 +344,7 @@
{
ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(id, "consumer id", null);
- return consumers.getConsumer(id);
+ return consumerCache.getConsumer(id);
}
public boolean containsConsumer(String id)
@@ -335,44 +352,6 @@
return getConsumer(id) != null;
}
- public Collection<String> getConfiguredConsumersIds()
- {
- return new AbstractCollection<String>()
- {
- final private List<WSRPConsumer> consumers = getConsumers(false);
-
- @Override
- public Iterator<String> iterator()
- {
- return new Iterator<String>()
- {
- private Iterator<WSRPConsumer> consumerIterator = consumers.iterator();
-
- public boolean hasNext()
- {
- return consumerIterator.hasNext();
- }
-
- public String next()
- {
- return consumerIterator.next().getProducerId();
- }
-
- public void remove()
- {
- throw new UnsupportedOperationException();
- }
- };
- }
-
- @Override
- public int size()
- {
- return consumers.size();
- }
- };
- }
-
public int getConfiguredConsumerNumber()
{
return getConfiguredConsumersIds().size();
@@ -420,7 +399,7 @@
{
if (!registerOrDeregisterOnly)
{
- consumer.activate();
+ consumer.refresh(false);
}
if (!federatingPortletInvoker.isResolved(id))
@@ -461,10 +440,11 @@
protected List<WSRPConsumer> getConsumers(boolean startConsumers)
{
- final Collection<WSRPConsumer> consumerz = consumers.getConsumers();
- for (WSRPConsumer consumer : consumerz)
+ final Collection<WSRPConsumer> consumerz = consumerCache.getConsumers();
+
+ if (startConsumers)
{
- if (startConsumers)
+ for (WSRPConsumer consumer : consumerz)
{
final ProducerInfo info = consumer.getProducerInfo();
if (info.isActive() && !consumer.isActive())
@@ -510,28 +490,33 @@
}
}
- protected class InMemoryConsumerCache implements ConsumerCache
+ protected static class InMemoryConsumerCache implements ConsumerCache
{
+
private Map<String, WSRPConsumer> consumers = new ConcurrentHashMap<String, WSRPConsumer>(11);
private boolean invalidated;
- private long lastModified;
+ private ConsumerRegistrySPI registry;
+ public InMemoryConsumerCache(ConsumerRegistrySPI registry)
+ {
+ this.registry = registry;
+ }
+
public void initFromStorage()
{
clear();
- Iterator<ProducerInfo> infosFromStorage = getProducerInfosFromStorage();
+ Iterator<ProducerInfo> infosFromStorage = registry.getProducerInfosFromStorage();
while (infosFromStorage.hasNext())
{
ProducerInfo info = infosFromStorage.next();
- consumers.put(info.getId(), createAndActivateIfNeeded(info));
+ consumers.put(info.getId(), createConsumer(info));
}
- markAsModifiedNow();
setInvalidated(false);
}
- public void markAsModifiedNow()
+ private WSRPConsumer createConsumer(ProducerInfo info)
{
- lastModified = System.currentTimeMillis();
+ return registry.createConsumerFrom(info, false);
}
public Collection<WSRPConsumer> getConsumers()
@@ -545,35 +530,46 @@
// try cache first
WSRPConsumer consumer = consumers.get(id);
- // if consumer is not in cache or has been modified after the cache was last updated, load it from JCR
- if (consumer == null || lastModified < getPersistedLastModifiedForProducerInfoWith(id))
+ return getUpdatedConsumer(id, consumer);
+ }
+
+ private WSRPConsumer getUpdatedConsumer(String id, WSRPConsumer consumer)
+ {
+ if (consumer == null || consumer.getProducerInfo().getLastModified() < registry.getPersistedLastModifiedForProducerInfoWith(id))
{
- ProducerInfo info = loadProducerInfo(id);
+ // if consumer is not in cache or was modified in persistence, (re-)load it from persistence
+ ProducerInfo info = registry.loadProducerInfo(id);
if (info != null)
{
- consumer = createAndActivateIfNeeded(info);
+ consumer = createConsumer(info);
+ consumers.put(id, consumer);
+ return consumer;
}
+ else
+ {
+ return null;
+ }
}
- return consumer;
+ else
+ {
+ return consumer;
+ }
}
public WSRPConsumer removeConsumer(String id)
{
- markAsModifiedNow();
return consumers.remove(id);
}
public void putConsumer(String id, WSRPConsumer consumer)
{
consumers.put(id, consumer);
- markAsModifiedNow();
}
public void clear()
{
consumers.clear();
invalidated = true;
- markAsModifiedNow();
}
public boolean isInvalidated()
@@ -586,39 +582,38 @@
this.invalidated = invalidated;
}
- public long getLastModified()
- {
- return lastModified;
- }
-
protected void refreshIfNeeded()
{
- AbstractConsumerRegistry registry = AbstractConsumerRegistry.this;
- // check if we need to refresh the local cache
- if (isInvalidated() || registry.producerInfosGotModifiedSince(lastModified))
+ if (isInvalidated())
{
- for (String id : registry.getConfiguredConsumersIds())
+ consumers.clear();
+ }
+
+ // first remove all obsolete Consumers in cache
+ Collection<String> consumersIds = registry.getConfiguredConsumersIds();
+ Set<String> obsoleteConsumers = new HashSet<String>(consumers.keySet());
+ obsoleteConsumers.removeAll(consumersIds);
+ for (String obsolete : obsoleteConsumers)
+ {
+ consumers.remove(obsolete);
+ }
+
+ // then check, for each consumer, if it has been modified since we last checked
+ for (String id : consumersIds)
+ {
+ WSRPConsumer consumerInfo = consumers.get(id);
+ if (consumerInfo != null)
{
- // only recreate the consumer if it's not in the cache or it's been modified after we've been last modified
- ProducerInfo info = registry.getUpdatedProducerInfoIfModifiedSinceOrNull(id, lastModified);
- if (consumers.get(id) == null)
- {
- if (info == null)
- {
- info = loadProducerInfo(id);
- }
- consumers.put(id, createAndActivateIfNeeded(info));
- }
+ getUpdatedConsumer(id, consumerInfo);
}
-
- markAsModifiedNow();
- setInvalidated(false);
+ else
+ {
+ ProducerInfo producerInfo = registry.loadProducerInfo(id);
+ consumers.put(id, createConsumer(producerInfo));
+ }
}
+ setInvalidated(false);
}
}
-
- protected abstract ProducerInfo getUpdatedProducerInfoIfModifiedSinceOrNull(String id, long lastModified);
-
- protected abstract boolean producerInfosGotModifiedSince(long lastModified);
}
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -44,9 +44,5 @@
void setInvalidated(boolean invalidated);
- long getLastModified();
-
void initFromStorage();
-
- void markAsModifiedNow();
}
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -29,6 +29,7 @@
import org.gatein.wsrp.consumer.ProducerInfo;
import org.gatein.wsrp.consumer.migration.InMemoryMigrationService;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -53,10 +54,16 @@
}
@Override
- public WSRPConsumer createConsumerFrom(ProducerInfo producerInfo)
+ protected void initConsumerCache()
{
- WSRPConsumer consumer = super.createConsumerFrom(producerInfo);
+ setConsumerCache(new InMemoryConsumerCache(this));
+ }
+ @Override
+ public WSRPConsumer createConsumerFrom(ProducerInfo producerInfo, boolean putInCache)
+ {
+ WSRPConsumer consumer = super.createConsumerFrom(producerInfo, putInCache);
+
String id = consumer.getProducerId();
consumers.put(id, consumer);
ProducerInfo info = consumer.getProducerInfo();
@@ -98,12 +105,16 @@
{
String key = producerInfo.getKey();
String oldId = keysToIds.get(key);
- if (oldId.equals(producerInfo.getId()))
+ String newId = producerInfo.getId();
+ if (oldId.equals(newId))
{
return null;
}
else
{
+ keysToIds.put(key, newId);
+ WSRPConsumer consumer = consumers.get(oldId);
+ consumers.put(newId, consumer);
return oldId;
}
}
@@ -141,18 +152,11 @@
keysToIds = null;
}
- @Override
- protected ProducerInfo getUpdatedProducerInfoIfModifiedSinceOrNull(String id, long lastModified)
+ public Collection<String> getConfiguredConsumersIds()
{
- return null;
+ return consumers.keySet();
}
- @Override
- protected boolean producerInfosGotModifiedSince(long lastModified)
- {
- return false;
- }
-
protected void initConsumers(SortedMap<String, WSRPConsumer> consumers)
{
if (!ParameterValidation.existsAndIsNotEmpty(consumers))
@@ -162,5 +166,9 @@
this.consumers = consumers;
int size = consumers.size();
keysToIds = size == 0 ? new HashMap<String, String>() : new HashMap<String, String>(size);
+ for (WSRPConsumer consumer : consumers.values())
+ {
+ keysToIds.put(consumer.getProducerInfo().getKey(), consumer.getProducerId());
+ }
}
}
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLConsumerRegistry.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/xml/XMLConsumerRegistry.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -24,7 +24,6 @@
import org.gatein.common.xml.NullEntityResolver;
import org.gatein.wsrp.WSRPConsumer;
-import org.gatein.wsrp.consumer.ProducerInfo;
import org.gatein.wsrp.consumer.registry.InMemoryConsumerRegistry;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
@@ -101,19 +100,4 @@
throw new RuntimeException("Couldn't unmarshall WSRP Consumers configuration", e);
}
}
-
- public void save(ProducerInfo info, String messageOnError)
- {
- // do nothing
- }
-
- public void delete(ProducerInfo info)
- {
- // do nothing
- }
-
- public String update(ProducerInfo producerInfo)
- {
- return null;
- }
}
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/spi/ConsumerRegistrySPI.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/spi/ConsumerRegistrySPI.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/spi/ConsumerRegistrySPI.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -69,7 +69,7 @@
ProducerInfo loadProducerInfo(String id);
- WSRPConsumer createConsumerFrom(ProducerInfo producerInfo);
+ WSRPConsumer createConsumerFrom(ProducerInfo producerInfo, boolean putInCache);
void registerWithFederatingPortletInvoker(WSRPConsumer consumer);
Modified: components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java
===================================================================
--- components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -137,9 +137,14 @@
WSRPConsumer consumer = registry.createConsumer(id, null, null);
ProducerInfo info = consumer.getProducerInfo();
+ // update unchanged ProducerInfo should return null
+ String previousId = registry.updateProducerInfo(info);
+ assertNull(previousId);
+
// change the id on the consumer's producer info and save it
info.setId("bar");
- registry.updateProducerInfo(info);
+ previousId = registry.updateProducerInfo(info);
+ assertEquals("foo", previousId);
assertNull(registry.getConsumer(id));
assertFalse(registry.containsConsumer(id));
@@ -161,7 +166,7 @@
Mockito.stub(info.getEndpointConfigurationInfo()).toReturn(endpoint);
registry.save(info, "Couldn't save ProducerInfo");
- WSRPConsumer original = registry.createConsumerFrom(info);
+ WSRPConsumer original = registry.createConsumerFrom(info, true);
// since consumer is supposed to be active, the registry will attempt to start it:
assertEquals(original, registry.getFederatingPortletInvoker().getFederatedInvoker("foo").getPortletInvoker());
@@ -202,4 +207,39 @@
assertEquals(consumer1, registry.getConsumer(consumer1.getProducerId()));
assertEquals(consumer2, registry.getConsumer(consumer2.getProducerId()));
}
+
+ public void testCacheSimple()
+ {
+ WSRPConsumer consumer1 = registry.createConsumer("consumer1", null, null);
+
+ assertTrue(registry.containsConsumer(consumer1.getProducerId()));
+
+ assertEquals(consumer1, registry.consumerCache.getConsumer(consumer1.getProducerId()));
+
+ final ProducerInfo info = consumer1.getProducerInfo();
+ info.setId("foo");
+
+ registry.updateProducerInfo(info);
+
+ assertEquals(consumer1, registry.getConsumer("foo"));
+
+ registry.destroyConsumer("foo");
+ assertFalse(registry.containsConsumer("foo"));
+ }
+
+ public void testCacheModifyingProducerInfo()
+ {
+ WSRPConsumer consumer1 = registry.createConsumer("consumer1", null, null);
+
+ assertTrue(registry.containsConsumer(consumer1.getProducerId()));
+
+ final ProducerInfo info = consumer1.getProducerInfo();
+ info.setId("foo");
+
+ // use lower-level method to simulate change from persistence layer
+ registry.update(info);
+
+ // retrieving the consumer with its new id should work
+ assertEquals(consumer1, registry.getConsumer("foo"));
+ }
}
Modified: components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -220,7 +220,7 @@
return consumers.size();
}
- public WSRPConsumer createConsumerFrom(ProducerInfo producerInfo)
+ public WSRPConsumer createConsumerFrom(ProducerInfo producerInfo, boolean putInCache)
{
throw new UnsupportedOperationException();
}
Modified: components/wsrp/trunk/hibernate-impl/src/main/java/org/gatein/wsrp/consumer/registry/hibernate/HibernateConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/hibernate-impl/src/main/java/org/gatein/wsrp/consumer/registry/hibernate/HibernateConsumerRegistry.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/hibernate-impl/src/main/java/org/gatein/wsrp/consumer/registry/hibernate/HibernateConsumerRegistry.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -31,6 +31,7 @@
import org.hibernate.SessionFactory;
import javax.naming.InitialContext;
+import java.util.Collection;
import java.util.Iterator;
/**
@@ -134,15 +135,14 @@
super.stop();
}
- @Override
- protected ProducerInfo getUpdatedProducerInfoIfModifiedSinceOrNull(String id, long lastModified)
+ public Collection<String> getConfiguredConsumersIds()
{
throw new UnsupportedOperationException();
}
@Override
- protected boolean producerInfosGotModifiedSince(long lastModified)
+ protected void initConsumerCache()
{
- throw new UnsupportedOperationException();
+ setConsumerCache(new InMemoryConsumerCache(this));
}
}
Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java 2011-11-03 21:52:27 UTC (rev 7962)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java 2011-11-03 22:07:30 UTC (rev 7963)
@@ -68,7 +68,6 @@
public static final List<Class> mappingClasses = new ArrayList<Class>(6);
private InputStream configurationIS;
- private long lastModified;
static
{
@@ -106,8 +105,15 @@
this.persister = persister;
this.loadFromXMLIfNeeded = loadFromXMLIfNeeded;
this.rootNodePath = rootNodePath.endsWith("/") ? rootNodePath : rootNodePath + "/";
+ initConsumerCache();
}
+ @Override
+ protected void initConsumerCache()
+ {
+ setConsumerCache(new InMemoryConsumerCache(this));
+ }
+
/** @param is */
public void setConfigurationIS(InputStream is)
{
@@ -121,9 +127,7 @@
{
ChromatticSession session = persister.getSession();
- // update cache
final long now = System.currentTimeMillis();
- lastModified = now;
ProducerInfosMapping pims = getProducerInfosMapping(session);
pims.setLastModified(now);
@@ -180,14 +184,13 @@
idUnchanged = oldId.equals(newId);
+ ProducerInfosMapping pims = getProducerInfosMapping(session);
+ pims.setLastModified(now);
+
if (!idUnchanged)
{
- ProducerInfosMapping pims = getProducerInfosMapping(session);
Map<String, ProducerInfoMapping> nameToProducerInfoMap = pims.getNameToProducerInfoMap();
nameToProducerInfoMap.put(pim.getId(), pim);
-
- pims.setLastModified(now);
- lastModified = now;
}
persister.closeSession(true);
@@ -283,7 +286,6 @@
}
}
- @Override
public Collection<String> getConfiguredConsumersIds()
{
ChromatticSession session = persister.getSession();
@@ -349,41 +351,6 @@
}
}
- @Override
- protected ProducerInfo getUpdatedProducerInfoIfModifiedSinceOrNull(String id, long lastModified)
- {
- try
- {
- ChromatticSession session = persister.getSession();
- ProducerInfoMapping pim = getProducerInfoMapping(id, session);
- if (lastModified < pim.getLastModified())
- {
- return pim.toModel(null, this);
- }
- else
- {
- return null;
- }
- }
- finally
- {
- persister.closeSession(false);
- }
- }
-
- @Override
- protected boolean producerInfosGotModifiedSince(long lastModified)
- {
- try
- {
- return lastModified < getProducerInfosMapping(persister.getSession()).getLastModified();
- }
- finally
- {
- persister.closeSession(false);
- }
- }
-
private ProducerInfosMapping getProducerInfosMapping(ChromatticSession session)
{
ProducerInfosMapping producerInfosMapping = session.findByPath(ProducerInfosMapping.class, PRODUCER_INFOS_PATH);
@@ -417,11 +384,10 @@
// update ProducerInfo with the persistence key
info.setKey(pim.getKey());
- consumers.putConsumer(info.getId(), consumer);
+ consumerCache.putConsumer(info.getId(), consumer);
}
- lastModified = System.currentTimeMillis();
- producerInfosMapping.setLastModified(lastModified);
+ producerInfosMapping.setLastModified(System.currentTimeMillis());
session.save();
}
}
13 years, 1 month
gatein SVN: r7962 - epp/portal/branches/EPP_5_2_Branch/distribution.
by do-not-reply@jboss.org
Author: hfnukal
Date: 2011-11-03 17:52:27 -0400 (Thu, 03 Nov 2011)
New Revision: 7962
Modified:
epp/portal/branches/EPP_5_2_Branch/distribution/pom.xml
Log:
JBEPP-1340 Upgrade portletbridge to 2.2.0.GA.EPP520
Modified: epp/portal/branches/EPP_5_2_Branch/distribution/pom.xml
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/distribution/pom.xml 2011-11-03 21:22:15 UTC (rev 7961)
+++ epp/portal/branches/EPP_5_2_Branch/distribution/pom.xml 2011-11-03 21:52:27 UTC (rev 7962)
@@ -20,7 +20,7 @@
<maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
<sso.version>1.1.0-Beta02</sso.version>
- <portletbridge.version>2.2.0.CR01.EPP52</portletbridge.version>
+ <portletbridge.version>2.2.0.GA.EPP520</portletbridge.version>
<!-- portlet bridge directory - not used, distribution module name is used as directory name -->
<portletbridge.directory>portletbridge</portletbridge.directory>
13 years, 1 month
gatein SVN: r7961 - in portal/trunk/examples: portal/config/src/main/java/conf and 1 other directory.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-11-03 17:22:15 -0400 (Thu, 03 Nov 2011)
New Revision: 7961
Modified:
portal/trunk/examples/extension/config/src/main/java/conf/configuration.xml
portal/trunk/examples/portal/config/src/main/java/conf/configuration.xml
Log:
- Use proper name for the WSRP extension.
Modified: portal/trunk/examples/extension/config/src/main/java/conf/configuration.xml
===================================================================
--- portal/trunk/examples/extension/config/src/main/java/conf/configuration.xml 2011-11-03 20:50:53 UTC (rev 7960)
+++ portal/trunk/examples/extension/config/src/main/java/conf/configuration.xml 2011-11-03 21:22:15 UTC (rev 7961)
@@ -75,10 +75,9 @@
<value>
<string>web</string>
</value>
- <!-- Do not start WSRP in extensions for now...
- <value profiles="jboss">
- <string>wsrp-producer</string>
- </value>-->
+ <!--<value profiles="jboss">
+ <string>gatein-wsrp-integration</string>
+ </value>-->
<value>
<string>sample-ext</string>
</value>
Modified: portal/trunk/examples/portal/config/src/main/java/conf/configuration.xml
===================================================================
--- portal/trunk/examples/portal/config/src/main/java/conf/configuration.xml 2011-11-03 20:50:53 UTC (rev 7960)
+++ portal/trunk/examples/portal/config/src/main/java/conf/configuration.xml 2011-11-03 21:22:15 UTC (rev 7961)
@@ -75,11 +75,9 @@
<value>
<string>web</string>
</value>
- <!-- No wsrp in beta02
- <value>
- <string>wsrp-producer</string>
- </value>
- -->
+ <!--<value profiles="jboss">
+ <string>gatein-wsrp-integration</string>
+ </value>-->
<value>
<string>sample-portal</string>
</value>
13 years, 1 month
gatein SVN: r7960 - in components/sso/trunk: agent/src/main/java/org/gatein/sso/agent/filter and 2 other directories.
by do-not-reply@jboss.org
Author: mposolda
Date: 2011-11-03 16:50:53 -0400 (Thu, 03 Nov 2011)
New Revision: 7960
Added:
components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/GateInNegotiationAuthenticator.java
Removed:
components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/login/FallbackFormJBossLoginModule.java
components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/NegotiationAuthenticator.java
Modified:
components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/LoginRedirectFilter.java
components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/SPNEGOFilter.java
components/sso/trunk/pom.xml
components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/SPNEGOLoginModule.java
Log:
GTNPORTAL-2251 Upgrade JBoss Negotiation to 2.0.4 and upgrade code according to it.
Modified: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/LoginRedirectFilter.java
===================================================================
--- components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/LoginRedirectFilter.java 2011-11-03 14:58:32 UTC (rev 7959)
+++ components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/LoginRedirectFilter.java 2011-11-03 20:50:53 UTC (rev 7960)
@@ -70,7 +70,7 @@
{
String action = request.getRequestURI();
- if (action != null && action.equals("/portal/sso"))
+ if (action != null && action.equals(request.getContextPath() + "/sso"))
{
return true;
}
Modified: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/SPNEGOFilter.java
===================================================================
--- components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/SPNEGOFilter.java 2011-11-03 14:58:32 UTC (rev 7959)
+++ components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/SPNEGOFilter.java 2011-11-03 20:50:53 UTC (rev 7960)
@@ -36,7 +36,7 @@
import org.exoplatform.container.web.AbstractFilter;
/**
- * Filter is needed because when fallback to FORM authentication, we don't need to redirect request to PortalLoginController to secured URI,
+ * Filter is needed because when fallback to FORM authentication, we don't need to redirect request to /dologin, which is secured URI,
* but we need to go directly to /initiatelogin without going again through Tomcat authenticator.
*
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
@@ -53,24 +53,18 @@
HttpServletResponse httpResponse = (HttpServletResponse)response;
try
{
- if (isLoginControllerInProgress(httpRequest))
- {
- // first save initialURI as parameter into HTTP session. We may need it later in authenticator
- String initialURI = httpRequest.getParameter("initialURI");
- if (initialURI != null)
- {
- httpRequest.getSession().setAttribute(ATTR_INITIAL_URI, initialURI);
- }
- // we need to redirect directly to initiatelogin without going through secured URL.
- HttpServletResponse wrapperResponse = new IgnoreRedirectHttpResponse(httpResponse);
- chain.doFilter(request, wrapperResponse);
- httpResponse.sendRedirect("/portal/initiatelogin");
- }
- else
+ // first save initialURI as parameter into HTTP session. We may need it later in authenticator
+ String initialURI = httpRequest.getParameter("initialURI");
+ if (initialURI != null)
{
- chain.doFilter(request, response);
+ httpRequest.getSession().setAttribute(ATTR_INITIAL_URI, initialURI);
}
+
+ // we need to redirect directly to initiatelogin without going through secured URL.
+ HttpServletResponse wrapperResponse = new IgnoreRedirectHttpResponse(httpResponse);
+ chain.doFilter(request, wrapperResponse);
+ httpResponse.sendRedirect(httpRequest.getContextPath() + "/initiatelogin");
}
catch(Throwable t)
{
@@ -82,18 +76,6 @@
{
}
- private boolean isLoginControllerInProgress(HttpServletRequest request)
- {
- String action = request.getRequestURI();
-
- if (action != null && action.equals("/portal/login"))
- {
- return true;
- }
-
- return false;
- }
-
// Ignoring calls to response.sendRedirect, which are performed from PortalLoginController
private class IgnoreRedirectHttpResponse extends HttpServletResponseWrapper
{
Deleted: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/login/FallbackFormJBossLoginModule.java
===================================================================
--- components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/login/FallbackFormJBossLoginModule.java 2011-11-03 14:58:32 UTC (rev 7959)
+++ components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/login/FallbackFormJBossLoginModule.java 2011-11-03 20:50:53 UTC (rev 7960)
@@ -1,68 +0,0 @@
-/*
- * JBoss, a division of Red Hat
- * Copyright 2011, 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.sso.agent.login;
-
-import org.exoplatform.services.security.j2ee.JbossLoginModule;
-import org.exoplatform.services.security.jaas.JAASGroup;
-import org.exoplatform.services.security.jaas.RolePrincipal;
-import org.exoplatform.services.security.jaas.UserPrincipal;
-
-import javax.security.auth.login.LoginException;
-import java.security.Principal;
-import java.security.acl.Group;
-import java.util.Set;
-
-/**
- * This login module is used for SPNEGO integration. It is workaround, which returns only identity of user in method "commit()" and it does not return any groups.
- * It is needed because {@link org.jboss.security.negotiation.spnego.SPNEGOLoginModule} assumes in method usernamePasswordLogin()
- * that user identity is returned as first principal, which is not the case for JbossLoginModule. Issue is addressed in https://issues.jboss.org/browse/SECURITY-631
- *
- * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
- */
-public class FallbackFormJBossLoginModule extends JbossLoginModule
-{
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean commit() throws LoginException
- {
- if (super.commit())
- {
- Set<Principal> principals = subject.getPrincipals();
-
- // clear existing principals from subject
- principals.clear();
-
- // add only username principal
- principals.add(new UserPrincipal(identity.getUserId()));
-
- return true;
- }
- else
- {
- return false;
- }
- }
-}
Modified: components/sso/trunk/pom.xml
===================================================================
--- components/sso/trunk/pom.xml 2011-11-03 14:58:32 UTC (rev 7959)
+++ components/sso/trunk/pom.xml 2011-11-03 20:50:53 UTC (rev 7960)
@@ -79,7 +79,7 @@
<version.servlet-api>2.5</version.servlet-api>
<!-- SPNEGO support using JBoss Negotiation -->
- <version.jboss.negotiation>2.1.0.GA</version.jboss.negotiation>
+ <version.jboss.negotiation>2.0.4.GA</version.jboss.negotiation>
</properties>
<dependencyManagement>
Added: components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/GateInNegotiationAuthenticator.java
===================================================================
--- components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/GateInNegotiationAuthenticator.java (rev 0)
+++ components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/GateInNegotiationAuthenticator.java 2011-11-03 20:50:53 UTC (rev 7960)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2011, 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.sso.spnego;
+
+import org.apache.catalina.Session;
+import org.gatein.sso.agent.filter.SPNEGOFilter;
+import org.jboss.security.negotiation.NegotiationAuthenticator;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class GateInNegotiationAuthenticator extends NegotiationAuthenticator
+{
+
+ /**
+ * Return the request URI (with the corresponding query string, if any)
+ * from the saved request so that we can redirect to it. We need to override this method
+ * because {@link org.apache.catalina.authenticator.Constants#FORM_REQUEST_NOTE} can be null sometimes
+ * (For example when request was send to /portal/login without displaying login.jsp page)
+ *
+ * @param session Our current session
+ */
+ @Override
+ protected String savedRequestURL(Session session)
+ {
+ String savedURI = super.savedRequestURL(session);
+
+ // use url saved by SPNEGOFilter if saved request not found
+ if (savedURI == null)
+ {
+ savedURI = (String)session.getSession().getAttribute(SPNEGOFilter.ATTR_INITIAL_URI);
+ }
+
+ // using default context if nothing else found
+ if (savedURI == null)
+ {
+ savedURI = session.getSession().getServletContext().getContextPath();
+ }
+
+ return savedURI;
+ }
+}
Deleted: components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/NegotiationAuthenticator.java
===================================================================
--- components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/NegotiationAuthenticator.java 2011-11-03 14:58:32 UTC (rev 7959)
+++ components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/NegotiationAuthenticator.java 2011-11-03 20:50:53 UTC (rev 7960)
@@ -1,365 +0,0 @@
-/*
- * JBoss, a division of Red Hat
- * Copyright 2011, 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.sso.spnego;
-
-import org.apache.catalina.Realm;
-import org.apache.catalina.Session;
-import org.apache.catalina.authenticator.AuthenticatorBase;
-import org.apache.catalina.authenticator.Constants;
-import org.apache.catalina.authenticator.FormAuthenticator;
-import org.apache.catalina.authenticator.SavedRequest;
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-import org.apache.catalina.deploy.LoginConfig;
-import org.apache.log4j.Logger;
-import org.gatein.sso.agent.filter.SPNEGOFilter;
-import org.jboss.security.negotiation.MessageFactory;
-import org.jboss.security.negotiation.NegotiationException;
-import org.jboss.security.negotiation.NegotiationMessage;
-import org.jboss.security.negotiation.common.MessageTrace;
-import org.jboss.security.negotiation.common.NegotiationContext;
-import org.jboss.util.Base64;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletResponse;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.security.Principal;
-
-import static org.apache.catalina.authenticator.Constants.SESS_PASSWORD_NOTE;
-import static org.apache.catalina.authenticator.Constants.SESS_USERNAME_NOTE;
-import static org.apache.catalina.authenticator.Constants.FORM_ACTION;
-import static org.apache.catalina.authenticator.Constants.FORM_PASSWORD;
-import static org.apache.catalina.authenticator.Constants.FORM_PRINCIPAL_NOTE;
-import static org.apache.catalina.authenticator.Constants.FORM_USERNAME;
-
-/**
- * An authenticator to manage Negotiation based authentication in connection with the
- * Negotiation login module. It's fork of {@link org.jboss.security.negotiation.NegotiationAuthenticator}, which is here
- * to ensure backwards compatibility with JBoss 5 (jbossWeb 2)
- *
- * @author darran.lofthouse(a)jboss.com
- * @version $Revision: 110643 $
- */
-public class NegotiationAuthenticator extends FormAuthenticator
-{
-
- private static final Logger log = Logger.getLogger(NegotiationAuthenticator.class);
-
- private static final String NEGOTIATE = "Negotiate";
-
- private static final String NEGOTIATION_CONTEXT = "NEGOTIATION_CONTEXT";
-
- private static final String FORM_METHOD = "FORM";
-
- protected String getNegotiateScheme()
- {
- return NEGOTIATE;
- }
-
- @Override
- public boolean authenticate(final Request request, final HttpServletResponse response, final LoginConfig config)
- throws IOException
- {
-
- boolean DEBUG = log.isDebugEnabled();
- log.trace("Authenticating user");
-
- Principal principal = request.getUserPrincipal();
- if (principal != null)
- {
- if (log.isTraceEnabled())
- log.trace("Already authenticated '" + principal.getName() + "'");
- return true;
- }
-
- String contextPath = request.getContextPath();
- String requestURI = request.getDecodedRequestURI();
- boolean loginAction = requestURI.startsWith(contextPath) && requestURI.endsWith(FORM_ACTION);
- if (loginAction)
- {
- Realm realm = context.getRealm();
- String username = request.getParameter(FORM_USERNAME);
- String password = request.getParameter(FORM_PASSWORD);
- principal = realm.authenticate(username, password);
- if (principal == null)
- {
- RequestDispatcher disp = context.getServletContext().getRequestDispatcher(config.getErrorPage());
- try
- {
- disp.forward(request.getRequest(), response);
- }
- catch (ServletException e)
- {
- IOException ex = new IOException("Unable to forward to error page.");
- ex.initCause(e);
-
- throw ex;
- }
- return false;
- }
-
- Session session = request.getSessionInternal();
- requestURI = savedRequestURL(session);
-
- session.setNote(FORM_PRINCIPAL_NOTE, principal);
- session.setNote(SESS_USERNAME_NOTE, username);
- session.setNote(SESS_PASSWORD_NOTE, password);
-
- register(request, response, principal, FORM_METHOD, username, password);
- response.sendRedirect(response.encodeRedirectURL(requestURI));
-
- return false;
- }
-
- String negotiateScheme = getNegotiateScheme();
-
- if (DEBUG)
- log.debug("Header - " + request.getHeader("Authorization"));
- String authHeader = request.getHeader("Authorization");
- if (authHeader == null)
- {
-
- log.debug("No Authorization Header, initiating negotiation");
- initiateNegotiation(request, response, config);
-
- return false;
- }
- else if (authHeader.startsWith(negotiateScheme + " ") == false)
- {
- throw new IOException("Invalid 'Authorization' header.");
- }
-
- String authTokenBase64 = authHeader.substring(negotiateScheme.length() + 1);
- byte[] authToken = Base64.decode(authTokenBase64);
- ByteArrayInputStream authTokenIS = new ByteArrayInputStream(authToken);
- MessageTrace.logRequestBase64(authTokenBase64);
- MessageTrace.logRequestHex(authToken);
-
- Session session = request.getSessionInternal();
- NegotiationContext negotiationContext = (NegotiationContext) session.getNote(NEGOTIATION_CONTEXT);
- if (negotiationContext == null)
- {
- log.debug("Creating new NegotiationContext");
- negotiationContext = new NegotiationContext();
- session.setNote(NEGOTIATION_CONTEXT, negotiationContext);
- }
-
- String username = negotiationContext.getUsername();
- if (username == null || username.length() == 0)
- {
- username = session.getId() + "_" + String.valueOf(System.currentTimeMillis());
- negotiationContext.setUsername(username);
- }
- String authenticationMethod = "";
- try
- {
- // Set the ThreadLocal association.
- negotiationContext.associate();
-
- MessageFactory mf = MessageFactory.newInstance();
- if (mf.accepts(authTokenIS) == false)
- {
- throw new IOException("Unsupported negotiation mechanism.");
- }
-
- NegotiationMessage requestMessage = mf.createMessage(authTokenIS);
- negotiationContext.setRequestMessage(requestMessage);
-
- Realm realm = context.getRealm();
- principal = realm.authenticate(username, (String) null);
-
- authenticationMethod = negotiationContext.getAuthenticationMethod();
-
- if (DEBUG && principal != null)
- log.debug("authenticated principal = " + principal);
-
- NegotiationMessage responseMessage = negotiationContext.getResponseMessage();
- if (responseMessage != null)
- {
- ByteArrayOutputStream responseMessageOS = new ByteArrayOutputStream();
- responseMessage.writeTo(responseMessageOS, true);
- String responseHeader = responseMessageOS.toString();
-
- MessageTrace.logResponseBase64(responseHeader);
-
- response.setHeader("WWW-Authenticate", negotiateScheme + " " + responseHeader);
- }
-
- }
- catch (NegotiationException e)
- {
- IOException ioe = new IOException("Error processing " + negotiateScheme + " header.");
- ioe.initCause(e);
- throw ioe;
- }
- finally
- {
- // Clear the headers and remove the ThreadLocal association.
- negotiationContext.clear();
- }
-
- if (principal == null)
- {
- response.sendError(Response.SC_UNAUTHORIZED);
- }
- else
- {
- register(request, response, principal, authenticationMethod, username, null);
- }
-
- return (principal != null);
- }
-
- /**
- * Purpose of this method is backwards compatibility with JBoss 5.1
- *
- * @param request request
- * @param response response
- * @param config login configuration
- * @return result of authentication
- * @throws IOException
- */
- public boolean authenticate(final Request request, final Response response, final LoginConfig config)
- throws IOException
- {
- return authenticate(request, (HttpServletResponse)response, config);
- }
-
- /**
- * Purpose of this method is backwards compatibility with JBoss 5.1
- *
- * @param request request
- * @param response response
- * @param principal Principal to register
- * @param authType authentication type (FORM, BASIC, SPNEGO, ...)
- * @param username name of user
- * @param password password of user
- *
- */
- protected void register(Request request, HttpServletResponse response,
- Principal principal, String authType,
- String username, String password)
- {
- try
- {
- // first trying JBoss 6 signature register(Request, HttpServletResponse, Principal, String, String, String)
- Method registerNewSignature = AuthenticatorBase.class.getDeclaredMethod("register", Request.class, HttpServletResponse.class, Principal.class, String.class, String.class, String.class);
-
- // We have a method, so calling super
- if (registerNewSignature != null)
- {
- super.register(request, response, principal, authType, username, password);
- }
- }
- catch (NoSuchMethodException nsme)
- {
- // fallback to JBoss 5 signature register(Request, Response, Principal, String, String, String)
- if (log.isDebugEnabled())
- {
- log.debug("Method 'register' with signature register(Request, HttpServletResponse, Principal, String, String, String) not found. Fallback to JBoss 5 signature register(Request, Response, Principal, String, String, String).");
- }
- try
- {
- Method registerOldSignature = AuthenticatorBase.class.getDeclaredMethod("register", Request.class, Response.class, Principal.class, String.class, String.class, String.class);
- registerOldSignature.invoke(this, request, (Response)response, principal, authType, username, password);
- }
- catch (Exception e)
- {
- log.error(e);
- }
- }
- catch (Exception e)
- {
- log.error(e);
- }
- }
-
- /**
- * Return the request URI (with the corresponding query string, if any)
- * from the saved request so that we can redirect to it. We need to override this method
- * because Constants.FORM_REQUEST_NOTE can be null sometimes (when request was send to /portal/login without displaying login.jsp page)
- *
- * @param session Our current session
- */
- protected String savedRequestURL(Session session)
- {
- String savedURI = super.savedRequestURL(session);
-
- // use url saved by SPNEGOFilter if saved request not found
- if (savedURI == null)
- {
- savedURI = (String)session.getSession().getAttribute(SPNEGOFilter.ATTR_INITIAL_URI);
- }
-
- // using default context if nothing helped
- if (savedURI == null)
- {
- savedURI = session.getSession().getServletContext().getContextPath();
- }
-
- return savedURI;
- }
-
- private void initiateNegotiation(final Request request, final HttpServletResponse response, final LoginConfig config)
- throws IOException
- {
- String loginPage = config.getLoginPage();
- if (loginPage != null)
- {
- // TODO - Logic to cache and restore request.
- ServletContext servletContext = context.getServletContext();
- RequestDispatcher disp = servletContext.getRequestDispatcher(loginPage);
-
- try
- {
- Session session = request.getSessionInternal();
- saveRequest(request, session);
-
- disp.include(request.getRequest(), response);
- response.setHeader("WWW-Authenticate", getNegotiateScheme());
- response.setStatus(Response.SC_UNAUTHORIZED);
- }
- catch (ServletException e)
- {
- IOException ex = new IOException("Unable to include loginPage");
- ex.initCause(e);
-
- throw ex;
- }
-
- }
- else
- {
- response.setHeader("WWW-Authenticate", getNegotiateScheme());
- response.sendError(Response.SC_UNAUTHORIZED);
- }
-
- response.flushBuffer();
- }
-}
Modified: components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/SPNEGOLoginModule.java
===================================================================
--- components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/SPNEGOLoginModule.java 2011-11-03 14:58:32 UTC (rev 7959)
+++ components/sso/trunk/spnego/src/main/java/org/gatein/sso/spnego/SPNEGOLoginModule.java 2011-11-03 20:50:53 UTC (rev 7960)
@@ -1,9 +1,9 @@
/*
- * JBoss, Home of Professional Open Source.
- *
- * Copyright 2007, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
+ * JBoss, a division of Red Hat
+ * Copyright 2011, 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
@@ -20,348 +20,43 @@
* 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.sso.spnego;
-import java.security.Principal;
-import java.security.PrivilegedAction;
-import java.security.acl.Group;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import org.exoplatform.services.security.jaas.UserPrincipal;
import javax.security.auth.Subject;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
+import java.security.Principal;
+import java.util.Set;
-import org.ietf.jgss.GSSContext;
-import org.ietf.jgss.GSSCredential;
-import org.ietf.jgss.GSSException;
-import org.ietf.jgss.GSSManager;
-import org.ietf.jgss.Oid;
-import org.jboss.security.SimpleGroup;
-import org.jboss.security.auth.spi.AbstractServerLoginModule;
-import org.jboss.security.negotiation.NegotiationMessage;
-import org.jboss.security.negotiation.common.NegotiationContext;
-import org.jboss.security.negotiation.spnego.encoding.NegTokenInit;
-import org.jboss.security.negotiation.spnego.encoding.NegTokenTarg;
-import org.jboss.security.negotiation.spnego.encoding.SPNEGOMessage;
-
-import org.exoplatform.services.security.jaas.UserPrincipal;
-
/**
- * Login module to work in conjunction with SPNEGOAuthenticator to handle the
- * authentication requirements.
- *
- * @author darran.lofthouse(a)jboss.com
- * @version $Revision: 83572 $
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
-public class SPNEGOLoginModule extends AbstractServerLoginModule
+public class SPNEGOLoginModule extends org.jboss.security.negotiation.spnego.SPNEGOLoginModule
{
+ /**
+ * Obtaining identity from subject. We need to find instance of {@link UserPrincipal}
+ * , which is added here during FORM authentication.
+ * See {@link org.exoplatform.services.security.j2ee.JbossLoginModule#commit()}
+ *
+ * @param userSubject subject from FORM authentication
+ * @return identity
+ * @throws javax.security.auth.login.LoginException
+ */
+ protected Principal getIdentityFromSubject(Subject userSubject) throws LoginException
+ {
+ Set principals = userSubject.getPrincipals(UserPrincipal.class);
+ if (principals.isEmpty())
+ {
+ throw new LoginException("No UserPrincipals returned after login.");
+ }
+ else if (principals.size() > 1)
+ {
+ log.warn("Multiple UserPrincipals returned, using first principal in set.");
+ }
- private static final String SPNEGO = "SPNEGO";
-
- private static final Oid kerberos;
-
- // TODO - Pick a name for a default domain?
- private String serverSecurityDomain;
-
- private LoginContext serverLoginContext = null;
-
- private Principal identity = null;
-
-
- static
- {
- try
- {
- kerberos = new Oid("1.2.840.113554.1.2.2");
- }
- catch (GSSException e)
- {
- throw new RuntimeException("Unable to initialise Oid", e);
- }
- }
-
- @Override
- public void initialize(final Subject subject,
- final CallbackHandler callbackHandler, final Map sharedState,
- final Map options)
- {
- super.initialize(subject, callbackHandler, sharedState, options);
-
- // Which security domain to authenticate the server.
- serverSecurityDomain = (String) options.get("serverSecurityDomain");
- log.debug("serverSecurityDomain=" + serverSecurityDomain);
- }
-
- @Override
- public boolean login() throws LoginException
- {
- if (super.login() == true)
- {
- log.debug("super.login()==true");
- return true;
- }
-
- super.loginOk = false;
-
- NegotiationContext negotiationContext = NegotiationContext
- .getCurrentNegotiationContext();
- NegotiationMessage requestMessage = negotiationContext.getRequestMessage();
- if (requestMessage instanceof SPNEGOMessage == false)
- {
- String message = "Unsupported negotiation mechanism '"
- + requestMessage.getMessageType() + "'.";
- log.warn(message);
- throw new LoginException(message);
- }
-
- try
- {
- Subject server = getServerSubject();
- AcceptSecContext action = new AcceptSecContext(negotiationContext);
- Object result = Subject.doAs(server, action);
-
- log.trace("Result - " + result);
-
- if (result instanceof Boolean)
- {
- if (Boolean.TRUE.equals(result))
- {
- super.loginOk = true;
- if (getUseFirstPass() == true)
- {
- String userName = identity.getName();
- log.debug("Storing username '" + userName + "' and empty password");
- // Add the username and a null password to the shared state map
- sharedState.put("javax.security.auth.login.name", identity);
- sharedState.put("javax.security.auth.login.password", "");
- }
- }
- }
- else if (result instanceof Exception)
- {
- Exception e = (Exception) result;
- log.error("Unable to authenticate", e);
- throw new LoginException("Unable to authenticate - " + e.getMessage());
- }
-
- }
- finally
- {
- if (serverLoginContext != null)
- {
- // TODO - We may not actually want to logout as if we use cache this may
- // clear it,
- serverLoginContext.logout();
- }
- }
-
- log.trace("super.loginOk " + super.loginOk);
- if (super.loginOk == true)
- {
- return true;
- }
- else
- {
- throw new LoginException("Continuation Required.");
- }
-
- }
-
- @Override
- protected Principal getIdentity()
- {
- return identity;
- }
-
- @Override
- protected Group[] getRoleSets() throws LoginException
- {
- Group roles = new SimpleGroup("Roles");
- Group callerPrincipal = new SimpleGroup("CallerPrincipal");
- Group[] groups = { roles, callerPrincipal };
- callerPrincipal.addMember(getIdentity());
- return groups;
- }
-
- protected Subject getServerSubject() throws LoginException
- {
- LoginContext lc = new LoginContext(serverSecurityDomain);
- lc.login();
- // Cache so we can log out.
- serverLoginContext = lc;
-
- Subject serverSubject = serverLoginContext.getSubject();
- log.debug("Subject = " + serverSubject);
- log.debug("Logged in '" + serverSecurityDomain + "' LoginContext");
-
- return serverSubject;
- }
-
- private class AcceptSecContext implements PrivilegedAction
- {
-
- private final NegotiationContext negotiationContext;
-
- public AcceptSecContext(final NegotiationContext negotiationContext)
- {
- this.negotiationContext = negotiationContext;
- }
-
- public Object run()
- {
- try
- {
- // The message type will have already been checked before this point so
- // we know it is
- // a SPNEGO message.
- NegotiationMessage requestMessage = negotiationContext
- .getRequestMessage();
-
- // TODO - Ensure no way to fall through with gssToken still null.
- byte[] gssToken = null;
- if (requestMessage instanceof NegTokenInit)
- {
- NegTokenInit negTokenInit = (NegTokenInit) requestMessage;
- List<Oid> mechList = negTokenInit.getMechTypes();
-
- if (mechList.get(0).equals(kerberos))
- {
- gssToken = negTokenInit.getMechToken();
- }
- else
- {
- boolean kerberosSupported = false;
-
- Iterator<Oid> it = mechList.iterator();
- while (it.hasNext() && kerberosSupported == false)
- {
- kerberosSupported = it.next().equals(kerberos);
- }
-
- NegTokenTarg negTokenTarg = new NegTokenTarg();
-
- if (kerberosSupported)
- {
- negTokenTarg.setNegResult(NegTokenTarg.ACCEPT_INCOMPLETE);
- negTokenTarg.setSupportedMech(kerberos);
- }
- else
- {
- negTokenTarg.setNegResult(NegTokenTarg.REJECTED);
- }
- negotiationContext.setResponseMessage(negTokenTarg);
-
- return Boolean.FALSE;
- }
-
- }
- else if (requestMessage instanceof NegTokenTarg)
- {
- NegTokenTarg negTokenTarg = (NegTokenTarg) requestMessage;
-
- gssToken = negTokenTarg.getResponseToken();
- }
-
- Object schemeContext = negotiationContext.getSchemeContext();
- if (schemeContext != null
- && schemeContext instanceof GSSContext == false)
- {
- throw new IllegalStateException(
- "The schemeContext is not a GSSContext");
- }
-
- GSSContext gssContext = (GSSContext) schemeContext;
- if (gssContext == null)
- {
- log.debug("Creating new GSSContext.");
- GSSManager manager = GSSManager.getInstance();
- gssContext = manager.createContext((GSSCredential) null);
-
- negotiationContext.setSchemeContext(gssContext);
- }
-
- if (gssContext.isEstablished())
- {
- log
- .warn("Authentication was performed despite already being authenticated!");
-
- // TODO - Refactor to only do this once.
- // identity = new
- // KerberosPrincipal(gssContext.getSrcName().toString());
- identity = new UserPrincipal(mapSpnegoToGateIn(gssContext
- .getSrcName().toString()));
-
- log.debug("context.getCredDelegState() = "
- + gssContext.getCredDelegState());
- log.debug("context.getMutualAuthState() = "
- + gssContext.getMutualAuthState());
- log.debug("context.getSrcName() = "
- + gssContext.getSrcName().toString());
-
- negotiationContext.setAuthenticationMethod(SPNEGO);
- negotiationContext.setAuthenticated(true);
-
- return Boolean.TRUE;
- }
-
- byte[] respToken = gssContext.acceptSecContext(gssToken, 0,
- gssToken.length);
-
- if (respToken != null)
- {
- NegTokenTarg negTokenTarg = new NegTokenTarg();
- negTokenTarg.setResponseToken(respToken);
-
- negotiationContext.setResponseMessage(negTokenTarg);
- }
-
- if (gssContext.isEstablished() == false)
- {
- return Boolean.FALSE;
- }
- else
- {
- // identity = new
- // KerberosPrincipal(gssContext.getSrcName().toString());
- identity = new UserPrincipal(mapSpnegoToGateIn(gssContext
- .getSrcName().toString()));
-
- log.debug("context.getCredDelegState() = "
- + gssContext.getCredDelegState());
- log.debug("context.getMutualAuthState() = "
- + gssContext.getMutualAuthState());
- log.debug("context.getSrcName() = "
- + gssContext.getSrcName().toString());
-
- // TODO - Get these two in synch - maybe isAuthenticated based on an
- // authentication method been set?
- negotiationContext.setAuthenticationMethod(SPNEGO);
- negotiationContext.setAuthenticated(true);
- return Boolean.TRUE;
- }
-
- }
- catch (Exception e)
- {
- return e;
- }
-
- }
- }
-
- private String mapSpnegoToGateIn(String spnegoPrincipal)
- {
- String exoPrincipal = spnegoPrincipal;
-
- int indexOf = exoPrincipal.indexOf('@');
- if (indexOf != -1)
- {
- exoPrincipal = exoPrincipal.substring(0, indexOf).trim();
- }
-
- return exoPrincipal;
- }
+ Principal identity = (Principal) principals.iterator().next();
+ return identity;
+ }
}
13 years, 1 month
gatein SVN: r7959 - portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-11-03 10:58:32 -0400 (Thu, 03 Nov 2011)
New Revision: 7959
Modified:
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css
Log:
GTNPORTAL-2256 Popup's resize button is always shown even if the popup is not resizable
Modified: portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css 2011-11-03 14:45:59 UTC (rev 7958)
+++ portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css 2011-11-03 14:58:32 UTC (rev 7959)
@@ -89,7 +89,7 @@
.UIPopupWindow .ResizeButton {
background: url('background/ResizeBtn.gif') no-repeat right top; /* orientation=lt */
background: url('background/ResizeBtn-rt.gif') no-repeat left top; /* orientation=rt */
- display: block;
+ display: none;
float: right; /* orientation=lt */
float: left; /* orientation=rt */
cursor: nw-resize; /* orientation=lt */
13 years, 1 month