JBoss Portal SVN: r10781 - in branches/JBoss_Portal_Branch_2_7: core and 10 other directories.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-05-20 10:03:27 -0400 (Tue, 20 May 2008)
New Revision: 10781
Modified:
branches/JBoss_Portal_Branch_2_7/build/build.xml
branches/JBoss_Portal_Branch_2_7/core-cms/.classpath
branches/JBoss_Portal_Branch_2_7/core-identity/.classpath
branches/JBoss_Portal_Branch_2_7/core-samples/.classpath
branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/CharsetPortlet.java
branches/JBoss_Portal_Branch_2_7/core-search/.classpath
branches/JBoss_Portal_Branch_2_7/core/.classpath
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portlet/JBossPortlet.java
branches/JBoss_Portal_Branch_2_7/faces/.classpath
branches/JBoss_Portal_Branch_2_7/portlet-server/.classpath
branches/JBoss_Portal_Branch_2_7/widget/.classpath
branches/JBoss_Portal_Branch_2_7/wsrp/.classpath
Log:
- Update Eclipse classpath
- Removed dependency on obselete 'format' module
Modified: branches/JBoss_Portal_Branch_2_7/build/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/build/build.xml 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/build/build.xml 2008-05-20 14:03:27 UTC (rev 10781)
@@ -119,7 +119,6 @@
<module name="portlet-server"/>
<module name="theme"/>
<module name="cms"/>
- <module name="format"/>
<module name="core"/>
<module name="core-cms"/>
<module name="core-management"/>
@@ -139,7 +138,7 @@
<group name="portal">
<include
- modules="api, jems, server, security, search, format, portlet-server, faces, theme, workflow, registration, core, cms, wsrp, core-admin, core-management, core-identity, core-cms, core-samples, widget"/>
+ modules="api, jems, server, security, search, portlet-server, faces, theme, workflow, registration, core, cms, wsrp, core-admin, core-management, core-identity, core-cms, core-samples, widget"/>
</group>
<group name="cms">
@@ -155,7 +154,7 @@
</group>
<group name="core">
- <include modules="api, jems, server, security, portlet-server, theme, registration, format, core"/>
+ <include modules="api, jems, server, security, portlet-server, theme, registration, core"/>
</group>
</moduleconfig>
@@ -367,12 +366,6 @@
<packageset dir="../faces/src/main">
<exclude name="org/jboss/portal/test/**"/>
</packageset>
- <packageset dir="../format/src/main">
- <exclude name="org/jboss/portal/test/**"/>
- </packageset>
- <packageset dir="../format/output/gen/classes">
- <exclude name="org/jboss/portal/test/**"/>
- </packageset>
<packageset dir="../theme/src/main">
<exclude name="org/jboss/portal/test/**"/>
</packageset>
Modified: branches/JBoss_Portal_Branch_2_7/core/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -37,7 +37,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/security"/>
<classpathentry combineaccessrules="false" kind="src" path="/cms"/>
<classpathentry combineaccessrules="false" kind="src" path="/theme"/>
- <classpathentry combineaccessrules="false" kind="src" path="/format"/>
<classpathentry combineaccessrules="false" kind="src" path="/registration"/>
<classpathentry combineaccessrules="false" kind="src" path="/workflow"/>
<classpathentry kind="lib" path="/thirdparty/jbpm/jaronly/lib/jbpm.jar"/>
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portlet/JBossPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portlet/JBossPortlet.java 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portlet/JBossPortlet.java 2008-05-20 14:03:27 UTC (rev 10781)
@@ -22,8 +22,6 @@
******************************************************************************/
package org.jboss.portlet;
-import org.jboss.portal.format.util.EntityTable;
-
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.Portlet;
@@ -37,6 +35,10 @@
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.WindowState;
+
+import org.jboss.portal.common.text.CharBuffer;
+import org.jboss.portal.common.text.EntityEncoder;
+
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
@@ -309,13 +311,19 @@
String[] values = (String[])entry.getValue();
// Perform HTML entity replacement
- name = EntityTable.FULL.convertEntities(name);
+ CharBuffer nameBuffer = new CharBuffer();
+ EntityEncoder.FULL.encode(name, nameBuffer);
+ name = nameBuffer.asString();
+
+ CharBuffer valueBuffer = new CharBuffer();
for (int j = 0; j < values.length; j++)
{
String value = values[j];
if (value != null)
{
- values[j] = EntityTable.FULL.convertEntities(value);
+ valueBuffer.reset();
+ EntityEncoder.FULL.encode(value, valueBuffer);
+ values[j] = valueBuffer.asString();
}
}
Modified: branches/JBoss_Portal_Branch_2_7/core-cms/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-cms/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core-cms/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -25,7 +25,6 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/identity/lib/portal-identity-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
<classpathentry kind="output" path="bin"/>
Modified: branches/JBoss_Portal_Branch_2_7/core-identity/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-identity/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core-identity/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -5,7 +5,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
<classpathentry combineaccessrules="false" kind="src" path="/faces"/>
- <classpathentry combineaccessrules="false" kind="src" path="/format"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry combineaccessrules="false" kind="src" path="/security"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -4,7 +4,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/thirdparty/apache-log4j/lib/log4j.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
- <classpathentry combineaccessrules="false" kind="src" path="/format"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
<classpathentry combineaccessrules="false" kind="src" path="/theme"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-j2ee.jar"/>
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/CharsetPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/CharsetPortlet.java 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/CharsetPortlet.java 2008-05-20 14:03:27 UTC (rev 10781)
@@ -23,7 +23,7 @@
package org.jboss.portal.core.samples.basic;
import org.apache.log4j.Logger;
-import org.jboss.portal.format.util.EntityTable;
+import org.jboss.portal.common.text.EntityEncoder;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
@@ -148,7 +148,7 @@
if (useChar(c))
{
text.append(c);
- String s = EntityTable.FULL.lookup(c);
+ String s = EntityEncoder.FULL.lookup(c);
if (s == null)
{
escapedText.append(c);
Modified: branches/JBoss_Portal_Branch_2_7/core-search/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-search/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/core-search/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -16,6 +16,6 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_7/faces/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/faces/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/faces/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -14,8 +14,8 @@
<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-bridge-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar" sourcepath="/module-portlet"/>
+ <classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_7/portlet-server/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/portlet-server/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/portlet-server/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -16,8 +16,8 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
- <classpathentry combineaccessrules="false" kind="src" path="/module-web"/>
<classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/web/lib/portal-web-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_7/widget/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/widget/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/widget/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -6,7 +6,7 @@
<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-common.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_7/wsrp/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_7/wsrp/.classpath 2008-05-20 13:17:02 UTC (rev 10780)
+++ branches/JBoss_Portal_Branch_2_7/wsrp/.classpath 2008-05-20 14:03:27 UTC (rev 10781)
@@ -32,9 +32,9 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/sun-javamail/lib/mail.jar"/>
<classpathentry kind="lib" path="/thirdparty/apache-fileupload/lib/commons-fileupload.jar"/>
<classpathentry kind="lib" path="/tools/lib/xercesImpl.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
<classpathentry kind="output" path="output/classes"/>
</classpath>
16 years, 4 months
JBoss Portal SVN: r10780 - branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/common.
by portal-commits@lists.jboss.org
Author: bdaw
Date: 2008-05-20 09:17:02 -0400 (Tue, 20 May 2008)
New Revision: 10780
Modified:
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/common/IdentityUserBean.java
Log:
JBPORTAL-2018 - stupid bug
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/common/IdentityUserBean.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/common/IdentityUserBean.java 2008-05-19 21:01:35 UTC (rev 10779)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/common/IdentityUserBean.java 2008-05-20 13:17:02 UTC (rev 10780)
@@ -208,8 +208,11 @@
if (profile == null)
{
+
+ // This is to intercept calls to display current user profile and decrease number of calls to identity modules
+ // Needs to be done in better way
User user = getCurrentUser();
- if (user == null)
+ if (user == null || !user.getUserName().equals(username))
{
user = this.findUserByUserName(username);
}
16 years, 4 months
JBoss Portal SVN: r10779 - in modules/presentation/trunk: classic/src/main/java/org/jboss/portal/presentation/classic and 6 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-05-19 17:01:35 -0400 (Mon, 19 May 2008)
New Revision: 10779
Added:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java
Removed:
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/DefaultPageViewPortScope.java
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/PageViewPortScope.java
modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralEventControllerContext.java
modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletControllerContext.java
modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletPageNavigationalState.java
modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralStateControllerContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObject.java
Modified:
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java
modules/presentation/trunk/pom.xml
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIAction.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContainer.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIPage.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIWindow.java
Log:
commiting pending changes in PF
Modified: modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java
===================================================================
--- modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -24,8 +24,8 @@
import org.jboss.portal.presentation.classic.model.ClassicUINode;
import org.jboss.portal.presentation.classic.model.ClassicViewPortContext;
-import org.jboss.portal.presentation.classic.model.DefaultPageViewPortScope;
-import org.jboss.portal.presentation.classic.model.PageViewPortScope;
+import org.jboss.portal.presentation.view.DefaultPageViewPortScope;
+import org.jboss.portal.presentation.view.PageViewPortScope;
import org.jboss.portal.presentation.classic.protocol.ActionDecoder;
import org.jboss.portal.presentation.classic.protocol.ActionEncoder;
import org.jboss.portal.presentation.client.PresentationClient;
Deleted: modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/DefaultPageViewPortScope.java
===================================================================
--- modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/DefaultPageViewPortScope.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/DefaultPageViewPortScope.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,136 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.classic.model;
-
-import org.jboss.portal.presentation.model.ObjectTraversalType;
-import org.jboss.portal.presentation.model.ui.UIObject;
-import org.jboss.portal.presentation.model.ViewPortScope;
-import org.jboss.portal.presentation.model.ui.UIContext;
-import org.jboss.portal.presentation.model.ui.UIPage;
-import org.jboss.portal.presentation.model.ui.UIWindow;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class DefaultPageViewPortScope implements ViewPortScope
-{
-
- /** . */
- private static final int NO_PAGE = 0;
-
- /** . */
- private static final int DEFAULT_PAGE = 1;
-
- /** . */
- private static final int DEFAULT_PAGE_CHILD = 2;
-
- /** . */
- private static final int DEFAULT_PAGE_SIBLING = 3;
-
- /** . */
- private final String rootId;
-
- /** . */
- private int pageStatus;
-
- public DefaultPageViewPortScope(String rootId)
- {
- this.rootId = rootId;
- this.pageStatus = 0;
- }
-
- public String getRootId()
- {
- return rootId;
- }
-
- public ObjectTraversalType enterObject(UIObject object)
- {
- if (object instanceof UIPage)
- {
- switch (pageStatus)
- {
- case NO_PAGE:
- if ("default".equals(object.getName()))
- {
- pageStatus = DEFAULT_PAGE;
-
- // We want to traverse the children of the default page
- return ObjectTraversalType.RECURSIVE;
- }
- else
- {
- pageStatus = DEFAULT_PAGE_SIBLING;
-
- // We want to see the sibbling pages of the default page
- return ObjectTraversalType.SINGLE;
- }
- case DEFAULT_PAGE:
- pageStatus = DEFAULT_PAGE_CHILD;
-
- // We want to see the children pages of the default page
- return ObjectTraversalType.SINGLE;
- case DEFAULT_PAGE_CHILD:
- case DEFAULT_PAGE_SIBLING:
- return ObjectTraversalType.SKIP;
- default:
- throw new AssertionError();
- }
- }
- else if (object instanceof UIWindow)
- {
- // We don't traverse windows (for now as they are supposed to be leaves)
- return ObjectTraversalType.SINGLE;
- }
- else if (object instanceof UIContext)
- {
- return ObjectTraversalType.RECURSIVE;
- }
- else
- {
- return ObjectTraversalType.SKIP;
- }
- }
-
- public void leaveObject(UIObject object)
- {
- if (object instanceof UIPage)
- {
- switch (pageStatus)
- {
- case NO_PAGE:
- throw new AssertionError();
- case DEFAULT_PAGE:
- pageStatus = NO_PAGE;
- break;
- case DEFAULT_PAGE_SIBLING:
- pageStatus = NO_PAGE;
- break;
- case DEFAULT_PAGE_CHILD:
- pageStatus = DEFAULT_PAGE;
- break;
- }
- }
- }
-}
Deleted: modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/PageViewPortScope.java
===================================================================
--- modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/PageViewPortScope.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/model/PageViewPortScope.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,136 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.classic.model;
-
-import org.jboss.portal.presentation.model.ObjectTraversalType;
-import org.jboss.portal.presentation.model.ui.UIObject;
-import org.jboss.portal.presentation.model.ViewPortScope;
-import org.jboss.portal.presentation.model.ui.UIContext;
-import org.jboss.portal.presentation.model.ui.UIPage;
-import org.jboss.portal.presentation.model.ui.UIWindow;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class PageViewPortScope implements ViewPortScope
-{
-
- /** . */
- private static final int NO_PAGE = 0;
-
- /** . */
- private static final int PAGE = 1;
-
- /** . */
- private static final int PAGE_CHILD = 2;
-
- /** . */
- private static final int PAGE_SIBLING = 3;
-
- /** . */
- private final String pageId;
-
- /** . */
- private int pageStatus;
-
- public PageViewPortScope(String pageId)
- {
- this.pageId = pageId;
- this.pageStatus = 0;
- }
-
- public String getRootId()
- {
- return pageId;
- }
-
- public ObjectTraversalType enterObject(UIObject object)
- {
- if (object instanceof UIPage)
- {
- switch (pageStatus)
- {
- case NO_PAGE:
- if (pageId.equals(object.getId()))
- {
- pageStatus = PAGE;
-
- // We want to traverse the children of the default page
- return ObjectTraversalType.RECURSIVE;
- }
- else
- {
- pageStatus = PAGE_SIBLING;
-
- // We want to see the sibbling pages of the default page
- return ObjectTraversalType.SINGLE;
- }
- case PAGE:
- pageStatus = PAGE_CHILD;
-
- // We want to see the children pages of the default page
- return ObjectTraversalType.SINGLE;
- case PAGE_CHILD:
- case PAGE_SIBLING:
- return ObjectTraversalType.SKIP;
- default:
- throw new AssertionError();
- }
- }
- else if (object instanceof UIWindow)
- {
- // We don't traverse windows (for now as they are supposed to be leaves)
- return ObjectTraversalType.SINGLE;
- }
- else if (object instanceof UIContext)
- {
- return ObjectTraversalType.RECURSIVE;
- }
- else
- {
- return ObjectTraversalType.SKIP;
- }
- }
-
- public void leaveObject(UIObject object)
- {
- if (object instanceof UIPage)
- {
- switch (pageStatus)
- {
- case NO_PAGE:
- throw new AssertionError();
- case PAGE:
- pageStatus = NO_PAGE;
- break;
- case PAGE_SIBLING:
- pageStatus = NO_PAGE;
- break;
- case PAGE_CHILD:
- pageStatus = PAGE;
- break;
- }
- }
- }
-}
\ No newline at end of file
Modified: modules/presentation/trunk/pom.xml
===================================================================
--- modules/presentation/trunk/pom.xml 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/pom.xml 2008-05-19 21:01:35 UTC (rev 10779)
@@ -30,6 +30,7 @@
<module>presentation</module>
<module>portlet</module>
<module>classic</module>
+ <!--<module>ajax2</module>-->
<!--<module>ajax</module>-->
</modules>
</project>
Deleted: modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralEventControllerContext.java
===================================================================
--- modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralEventControllerContext.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralEventControllerContext.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,70 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.portlet.controller;
-
-import org.jboss.portal.portlet.controller.event.EventControllerContext;
-import org.jboss.portal.portlet.controller.event.EventPhaseContext;
-import org.jboss.portal.portlet.controller.event.PortletWindowEvent;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.info.PortletInfo;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class StructuralEventControllerContext implements EventControllerContext
-{
-
- /** . */
- private final StructuralPortletControllerContext portletControllerContext;
-
- public StructuralEventControllerContext(StructuralPortletControllerContext portletControllerContext)
- {
- this.portletControllerContext = portletControllerContext;
- }
-
- public void eventProduced(EventPhaseContext context, PortletWindowEvent producedEvent, PortletWindowEvent sourceEvent)
- {
- for (String windowId : portletControllerContext.getWindowIds())
- {
- PortletInfo portletInfo = portletControllerContext.getPortletInfo(windowId);
- if (portletInfo.getEventing().getConsumedEvents().containsKey(producedEvent.getName()))
- {
- PortletWindowEvent distributedEvent = new PortletWindowEvent(producedEvent.getName(), producedEvent.getPayload(), windowId);
- context.queueEvent(distributedEvent);
- }
- }
- }
-
- public void eventConsumed(EventPhaseContext context, PortletWindowEvent consumedEvent, PortletInvocationResponse consumerResponse)
- {
- }
-
- public void eventFailed(EventPhaseContext context, PortletWindowEvent failedEvent, Throwable throwable)
- {
- }
-
- public void eventDiscarded(EventPhaseContext context, PortletWindowEvent discardedEvent, int cause)
- {
- }
-}
Deleted: modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletControllerContext.java
===================================================================
--- modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletControllerContext.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletControllerContext.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,208 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.portlet.controller;
-
-import org.jboss.portal.portlet.PortletInvoker;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
-import org.jboss.portal.portlet.controller.PortletControllerContext;
-import org.jboss.portal.portlet.controller.event.EventControllerContext;
-import org.jboss.portal.portlet.controller.state.StateControllerContext;
-import org.jboss.portal.portlet.controller.state.PortletPageNavigationalState;
-import org.jboss.portal.portlet.info.PortletInfo;
-import org.jboss.portal.portlet.invocation.ActionInvocation;
-import org.jboss.portal.portlet.invocation.EventInvocation;
-import org.jboss.portal.portlet.invocation.ResourceInvocation;
-import org.jboss.portal.portlet.invocation.RenderInvocation;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.spi.PortletInvocationContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationPortletInvocationContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationServerContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationWindowContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationInstanceContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationClientContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationPortalContext;
-import org.jboss.portal.presentation.portlet.spi.PresentationSecurityContext;
-import org.jboss.portal.presentation.client.PresentationClient;
-import org.jboss.portal.presentation.model.tree.UINode;
-import org.jboss.portal.presentation.model.ui.UIObject;
-import org.jboss.portal.presentation.model.ui.UIWindow;
-import org.jboss.portal.presentation.state.StateType;
-
-import javax.servlet.http.Cookie;
-import java.util.List;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Set;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class StructuralPortletControllerContext implements PortletControllerContext
-{
-
- /** . */
- private final UINode pageNode;
-
- /** . */
- private final PortletInvoker invoker;
-
- /** . */
- private final StateControllerContext stateControllerContext;
-
- /** A map of window ids to portlets. */
- private final Map<String, Portlet> portlets;
-
- /** A map of window ids to windows. */
- private final Map<String, UINode> windows;
-
- /** . */
- private final PresentationClient client;
-
- /** . */
- private final EventControllerContext eventControllerContext;
-
- public StructuralPortletControllerContext(
- PresentationClient client,
- UINode pageNode,
- PortletInvoker invoker)
- {
- Map<String, Portlet> portlets = new HashMap<String, Portlet>();
- Map<String, UINode> windows = new HashMap<String, UINode>();
-
- //
- for (UINode childNode : pageNode.getChildren())
- {
- UIObject child = childNode.getObject();
-
- if (child instanceof UIWindow)
- {
- String portletRef = child.getProperty(StateType.STRUCTURAL, "portlet-ref", String.class);
-
- //
- if (portletRef != null)
- {
- try
- {
- Portlet portlet = invoker.getPortlet(PortletContext.createPortletContext(portletRef));
-
- //
- portlets.put(child.getId(), portlet);
- windows.put(child.getId(), childNode);
- }
- catch (PortletInvokerException e)
- {
- e.printStackTrace();
- }
- }
- }
- }
-
- //
- this.client = client;
- this.pageNode = pageNode;
- this.invoker = invoker;
- this.stateControllerContext = new StructuralStateControllerContext(this);
- this.portlets = portlets;
- this.windows = windows;
- this.eventControllerContext = new StructuralEventControllerContext(this);
- }
-
- public String getPageId()
- {
- return pageNode.getObject().getId();
- }
-
- public Set<String> getWindowIds()
- {
- return windows.keySet();
- }
-
- public PortletInfo getPortletInfo(String windowId)
- {
- return portlets.get(windowId).getInfo();
- }
-
- public PortletInvocationContext createPortletInvocationContext(String windowId, PortletPageNavigationalState pageNavigationalState)
- {
- return new PresentationPortletInvocationContext(client, this, windowId);
- }
-
- public PortletInvocationResponse invoke(ActionInvocation actionInvocation) throws PortletInvokerException
- {
- return invoke((PortletInvocation)actionInvocation);
- }
-
- public PortletInvocationResponse invoke(List<Cookie> requestCookies, EventInvocation eventInvocation) throws PortletInvokerException
- {
- return invoke(eventInvocation);
- }
-
- public PortletInvocationResponse invoke(List<Cookie> requestCookies, RenderInvocation renderInvocation) throws PortletInvokerException
- {
- return invoke(renderInvocation);
- }
-
- public PortletInvocationResponse invoke(ResourceInvocation resourceInvocation) throws PortletInvokerException
- {
- return invoke((PortletInvocation)resourceInvocation);
- }
-
- private PortletInvocationResponse invoke(PortletInvocation portletInvocation) throws PortletInvokerException
- {
- PresentationPortletInvocationContext ctx = (PresentationPortletInvocationContext)portletInvocation.getContext();
-
- //
- UINode window = windows.get(ctx.getWindowId());
-
- //
- portletInvocation.setServerContext(new PresentationServerContext(client));
- portletInvocation.setSecurityContext(new PresentationSecurityContext());
- portletInvocation.setClientContext(new PresentationClientContext());
- portletInvocation.setInstanceContext(new PresentationInstanceContext(window));
- portletInvocation.setPortalContext(new PresentationPortalContext());
- portletInvocation.setUserContext(new AbstractUserContext());
- portletInvocation.setWindowContext(new PresentationWindowContext(window));
-
- //
- Portlet portlet = portlets.get(ctx.getWindowId());
- portletInvocation.setTarget(portlet.getContext());
-
- //
- return invoker.invoke(portletInvocation);
- }
-
- public EventControllerContext getEventControllerContext()
- {
- return eventControllerContext;
- }
-
- public StateControllerContext getStateControllerContext()
- {
- return stateControllerContext;
- }
-}
Deleted: modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletPageNavigationalState.java
===================================================================
--- modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletPageNavigationalState.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralPortletPageNavigationalState.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,290 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.portlet.controller;
-
-import org.jboss.portal.portlet.controller.state.PortletPageNavigationalState;
-import org.jboss.portal.portlet.controller.state.PortletWindowNavigationalState;
-import org.jboss.portal.portlet.StateString;
-import org.jboss.portal.portlet.info.ParameterInfo;
-import org.jboss.portal.portlet.info.NavigationInfo;
-import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
-import org.jboss.portal.presentation.impl.state.navigational.DelegatingNavigationalStateContext;
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-
-import javax.xml.namespace.QName;
-import java.util.Set;
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class StructuralPortletPageNavigationalState implements PortletPageNavigationalState
-{
-
- /** . */
- public static final int READ_ONLY_MODE = 0;
-
- /** . */
- public static final int READ_WRITE_MODE = 1;
-
- /** . */
- public static final int CLONE_AND_WRITE_MODE = 2;
-
- /** . */
- private final StructuralPortletControllerContext portletControllerContext;
-
- /** . */
- private final NavigationalStateContext navigationalStateContext;
-
- /** . */
- private final boolean modifiable;
-
- public StructuralPortletPageNavigationalState(
- StructuralPortletControllerContext portletControllerContext,
- NavigationalStateContext navigationalStateContext,
- int mode)
- {
- boolean modifiable;
- switch (mode)
- {
- case READ_ONLY_MODE:
- modifiable = false;
- break;
- case READ_WRITE_MODE:
- modifiable = true;
- break;
- case CLONE_AND_WRITE_MODE:
- modifiable = true;
- navigationalStateContext = new DelegatingNavigationalStateContext(navigationalStateContext);
- break;
- default:
- throw new AssertionError();
- }
-
- //
- this.portletControllerContext = portletControllerContext;
- this.navigationalStateContext = navigationalStateContext;
- this.modifiable = modifiable;
- }
-
- public StructuralPortletPageNavigationalState(
- StructuralPortletPageNavigationalState pageNavigationalState,
- int mode)
- {
- NavigationalStateContext navigationalStateContext = pageNavigationalState.navigationalStateContext;
- boolean modifiable;
- switch (mode)
- {
- case READ_ONLY_MODE:
- modifiable = false;
- break;
- case READ_WRITE_MODE:
- modifiable = true;
- break;
- case CLONE_AND_WRITE_MODE:
- modifiable = true;
- navigationalStateContext = new DelegatingNavigationalStateContext(navigationalStateContext);
- break;
- default:
- throw new AssertionError();
- }
-
- //
- this.portletControllerContext = pageNavigationalState.portletControllerContext;
- this.navigationalStateContext = navigationalStateContext;
- this.modifiable = modifiable;
- }
-
- public void flush()
- {
- if (navigationalStateContext instanceof DelegatingNavigationalStateContext)
- {
- ((DelegatingNavigationalStateContext)navigationalStateContext).flush(true);
- }
- }
-
- public Set<String> getPortletWindowIds()
- {
- return portletControllerContext.getWindowIds();
- }
-
- public PortletWindowNavigationalState getPortletWindowNavigationalState(String portletWindowId) throws IllegalArgumentException
- {
- Mode mode = (Mode)navigationalStateContext.getProperty(portletWindowId, "mode");
- WindowState windowState = (WindowState)navigationalStateContext.getProperty(portletWindowId, "windowstate");
- StateString portletNavigationalState = (StateString)navigationalStateContext.getProperty(portletWindowId, "portlet");
- return new PortletWindowNavigationalState(portletNavigationalState, mode, windowState);
- }
-
- public void setPortletWindowNavigationalState(String portletWindowId, PortletWindowNavigationalState portletWindowState) throws IllegalArgumentException, IllegalStateException
- {
- if (!modifiable)
- {
- throw new IllegalStateException();
- }
-
- //
- navigationalStateContext.setProperty(portletWindowId, "windowstate", portletWindowState.getWindowState());
- navigationalStateContext.setProperty(portletWindowId, "mode", portletWindowState.getMode());
- navigationalStateContext.setProperty(portletWindowId, "portlet", portletWindowState.getPortletNavigationalState());
- }
-
- public Map<String, String[]> getPortletPublicNavigationalState(String portletWindowId) throws IllegalArgumentException
- {
- Map<QName, String[]> pageParameters = (Map<QName, String[]>)navigationalStateContext.getProperty(portletControllerContext.getPageId(), "portlet");
-
- //
- Map<String, String[]> portletParameters = null;
-
- //
- if (pageParameters != null)
- {
- NavigationInfo navigationInfo = portletControllerContext.getPortletInfo(portletWindowId).getNavigation();
-
- //
- for (ParameterInfo parameterInfo : navigationInfo.getPublicParameters())
- {
- QName parameterName = parameterInfo.getName();
- String[] parameterValue = pageParameters.get(parameterName);
-
- //
- if (parameterValue != null)
- {
- if (portletParameters == null)
- {
- portletParameters = new HashMap<String, String[]>();
- }
-
- //
- portletParameters.put(parameterInfo.getId(), parameterValue);
- }
- }
- }
-
- //
- return portletParameters;
- }
-
- public void setPortletPublicNavigationalState(String portletWindowId, Map<String, String[]> update) throws IllegalArgumentException, IllegalStateException
- {
- if (!modifiable)
- {
- throw new IllegalStateException();
- }
-
- //
- HashMap<QName, String[]> pageParameters = (HashMap<QName, String[]>)navigationalStateContext.getProperty(portletControllerContext.getPageId(), "portlet");
-
- //
- if (pageParameters == null)
- {
- pageParameters = new HashMap<QName, String[]>();
- }
-
- //
- NavigationInfo navigationInfo = portletControllerContext.getPortletInfo(portletWindowId).getNavigation();
-
- //
- for (Map.Entry<String, String[]> entry : update.entrySet())
- {
- ParameterInfo parameterInfo = navigationInfo.getPublicParameter(entry.getKey());
-
- //
- QName parameterName = parameterInfo.getName();
-
- if (entry.getValue().length == 0)
- {
- pageParameters.remove(parameterName);
- }
- else
- {
- pageParameters.put(parameterName, entry.getValue());
- }
- }
-
- //
- navigationalStateContext.setProperty(portletControllerContext.getPageId(), "portlet", pageParameters);
- }
-
- public Set<QName> getPublicNames()
- {
- HashMap<QName, String[]> pageParameters = (HashMap<QName, String[]>)navigationalStateContext.getProperty(portletControllerContext.getPageId(), "portlet");
-
- //
- return pageParameters != null ? pageParameters.keySet() : null;
- }
-
- public String[] getPublicNavigationalState(QName name) throws IllegalArgumentException
- {
- Map<QName, String[]> pageParameters = (Map<QName, String[]>)navigationalStateContext.getProperty(portletControllerContext.getPageId(), "portlet");
-
- //
- return pageParameters != null ? pageParameters.get(name) : null;
- }
-
- public void setPublicNavigationalState(QName name, String[] value) throws IllegalArgumentException, IllegalStateException
- {
- if (!modifiable)
- {
- throw new IllegalStateException();
- }
-
- //
- HashMap<QName, String[]> pageParameters = (HashMap<QName, String[]>)navigationalStateContext.getProperty(portletControllerContext.getPageId(), "portlet");
-
- //
- if (pageParameters == null)
- {
- pageParameters = new HashMap<QName, String[]>();
- }
-
- //
- pageParameters.put(name, value);
-
- //
- navigationalStateContext.setProperty(portletControllerContext.getPageId(), "portlet", pageParameters);
- }
-
- public void removePublicNavigationalState(QName name) throws IllegalArgumentException, IllegalStateException
- {
- if (!modifiable)
- {
- throw new IllegalStateException();
- }
-
- //
- HashMap<QName, String[]> pageParameters = (HashMap<QName, String[]>)navigationalStateContext.getProperty(portletControllerContext.getPageId(), "portlet");
-
- //
- if (pageParameters != null)
- {
- pageParameters.remove(name);
-
- //
- navigationalStateContext.setProperty(portletControllerContext.getPageId(), "portlet", pageParameters);
- }
- }
-}
Deleted: modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralStateControllerContext.java
===================================================================
--- modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralStateControllerContext.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/portlet/src/main/java/org/jboss/portal/presentation/portlet/controller/StructuralStateControllerContext.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,59 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.portlet.controller;
-
-import org.jboss.portal.portlet.controller.state.StateControllerContext;
-import org.jboss.portal.portlet.controller.state.PortletPageNavigationalState;
-import org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class StructuralStateControllerContext implements StateControllerContext
-{
-
- /** . */
- private StructuralPortletControllerContext portletControllerContext;
-
- public StructuralStateControllerContext(StructuralPortletControllerContext portletControllerContext)
- {
- this.portletControllerContext = portletControllerContext;
- }
-
- public PortletPageNavigationalState clonePortletPageNavigationalState(PortletPageNavigationalState portletPageNavigationalState, boolean modifiable)
- {
-
- return new StructuralPortletPageNavigationalState(
- (StructuralPortletPageNavigationalState)portletPageNavigationalState,
- modifiable ? StructuralPortletPageNavigationalState.CLONE_AND_WRITE_MODE : StructuralPortletPageNavigationalState.READ_ONLY_MODE);
- }
-
- public PortletPageNavigationalState createPortletPageNavigationalState(boolean modifiable)
- {
- return new StructuralPortletPageNavigationalState(
- portletControllerContext,
- new NavigationalStateContextImpl(),
- modifiable ? StructuralPortletPageNavigationalState.READ_WRITE_MODE : StructuralPortletPageNavigationalState.READ_ONLY_MODE);
- }
-}
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObject.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObject.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -1,73 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, 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.jboss.portal.presentation.model;
-
-import org.jboss.portal.presentation.state.StateException;
-import org.jboss.portal.presentation.state.StateType;
-
-import java.util.Set;
-
-/**
- * A wrapper of a structural object. The main goal of this object is to let the viewport add custom payload
- * in addition of the structural state.
- *
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public interface UIObject
-{
-
- /**
- * Returns the id.
- *
- * @return the id
- */
- String getId();
-
- /**
- * Returns the name.
- *
- * @return the name
- */
- String getName();
-
- /**
- * Returns a property value or null if it does not exist.
- *
- * @param stateType the state type
- * @param propertyName the property name
- * @param propertyType the expected property type @return the property value @return the property value
- * @return the property value
- * @throws IllegalArgumentException if any argument is null or not valid
- * @throws StateException any state exception
- */
- <T> T getProperty(StateType stateType, String propertyName, Class<T> propertyType) throws IllegalArgumentException, StateException;
-
- /**
- * Returns the set of property names of this object
- *
- * @param stateType the state type
- * @return the property names
- */
- Set<String> getPropertyNames(StateType stateType);
-}
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIAction.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIAction.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIAction.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -22,9 +22,6 @@
******************************************************************************/
package org.jboss.portal.presentation.model.ui;
-import org.jboss.portal.presentation.model.ui.UIObject;
-
-
/**
* An action that can be triggered.
*
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContainer.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContainer.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContainer.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -22,8 +22,6 @@
******************************************************************************/
package org.jboss.portal.presentation.model.ui;
-import org.jboss.portal.presentation.model.ui.UIObject;
-
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -22,8 +22,6 @@
******************************************************************************/
package org.jboss.portal.presentation.model.ui;
-import org.jboss.portal.presentation.model.ui.UIObject;
-
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIPage.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIPage.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIPage.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -22,8 +22,6 @@
******************************************************************************/
package org.jboss.portal.presentation.model.ui;
-import org.jboss.portal.presentation.model.ui.UIObject;
-
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIWindow.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIWindow.java 2008-05-19 11:05:59 UTC (rev 10778)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIWindow.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -24,7 +24,6 @@
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
-import org.jboss.portal.presentation.model.ui.UIObject;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -0,0 +1,136 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, 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.jboss.portal.presentation.view;
+
+import org.jboss.portal.presentation.model.ObjectTraversalType;
+import org.jboss.portal.presentation.model.ui.UIObject;
+import org.jboss.portal.presentation.model.ViewPortScope;
+import org.jboss.portal.presentation.model.ui.UIContext;
+import org.jboss.portal.presentation.model.ui.UIPage;
+import org.jboss.portal.presentation.model.ui.UIWindow;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class DefaultPageViewPortScope implements ViewPortScope
+{
+
+ /** . */
+ private static final int NO_PAGE = 0;
+
+ /** . */
+ private static final int DEFAULT_PAGE = 1;
+
+ /** . */
+ private static final int DEFAULT_PAGE_CHILD = 2;
+
+ /** . */
+ private static final int DEFAULT_PAGE_SIBLING = 3;
+
+ /** . */
+ private final String rootId;
+
+ /** . */
+ private int pageStatus;
+
+ public DefaultPageViewPortScope(String rootId)
+ {
+ this.rootId = rootId;
+ this.pageStatus = 0;
+ }
+
+ public String getRootId()
+ {
+ return rootId;
+ }
+
+ public ObjectTraversalType enterObject(UIObject object)
+ {
+ if (object instanceof UIPage)
+ {
+ switch (pageStatus)
+ {
+ case NO_PAGE:
+ if ("default".equals(object.getName()))
+ {
+ pageStatus = DEFAULT_PAGE;
+
+ // We want to traverse the children of the default page
+ return ObjectTraversalType.RECURSIVE;
+ }
+ else
+ {
+ pageStatus = DEFAULT_PAGE_SIBLING;
+
+ // We want to see the sibbling pages of the default page
+ return ObjectTraversalType.SINGLE;
+ }
+ case DEFAULT_PAGE:
+ pageStatus = DEFAULT_PAGE_CHILD;
+
+ // We want to see the children pages of the default page
+ return ObjectTraversalType.SINGLE;
+ case DEFAULT_PAGE_CHILD:
+ case DEFAULT_PAGE_SIBLING:
+ return ObjectTraversalType.SKIP;
+ default:
+ throw new AssertionError();
+ }
+ }
+ else if (object instanceof UIWindow)
+ {
+ // We don't traverse windows (for now as they are supposed to be leaves)
+ return ObjectTraversalType.SINGLE;
+ }
+ else if (object instanceof UIContext)
+ {
+ return ObjectTraversalType.RECURSIVE;
+ }
+ else
+ {
+ return ObjectTraversalType.SKIP;
+ }
+ }
+
+ public void leaveObject(UIObject object)
+ {
+ if (object instanceof UIPage)
+ {
+ switch (pageStatus)
+ {
+ case NO_PAGE:
+ throw new AssertionError();
+ case DEFAULT_PAGE:
+ pageStatus = NO_PAGE;
+ break;
+ case DEFAULT_PAGE_SIBLING:
+ pageStatus = NO_PAGE;
+ break;
+ case DEFAULT_PAGE_CHILD:
+ pageStatus = DEFAULT_PAGE;
+ break;
+ }
+ }
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java 2008-05-19 21:01:35 UTC (rev 10779)
@@ -0,0 +1,136 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, 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.jboss.portal.presentation.view;
+
+import org.jboss.portal.presentation.model.ObjectTraversalType;
+import org.jboss.portal.presentation.model.ui.UIObject;
+import org.jboss.portal.presentation.model.ViewPortScope;
+import org.jboss.portal.presentation.model.ui.UIContext;
+import org.jboss.portal.presentation.model.ui.UIPage;
+import org.jboss.portal.presentation.model.ui.UIWindow;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class PageViewPortScope implements ViewPortScope
+{
+
+ /** . */
+ private static final int NO_PAGE = 0;
+
+ /** . */
+ private static final int PAGE = 1;
+
+ /** . */
+ private static final int PAGE_CHILD = 2;
+
+ /** . */
+ private static final int PAGE_SIBLING = 3;
+
+ /** . */
+ private final String pageId;
+
+ /** . */
+ private int pageStatus;
+
+ public PageViewPortScope(String pageId)
+ {
+ this.pageId = pageId;
+ this.pageStatus = 0;
+ }
+
+ public String getRootId()
+ {
+ return pageId;
+ }
+
+ public ObjectTraversalType enterObject(UIObject object)
+ {
+ if (object instanceof UIPage)
+ {
+ switch (pageStatus)
+ {
+ case NO_PAGE:
+ if (pageId.equals(object.getId()))
+ {
+ pageStatus = PAGE;
+
+ // We want to traverse the children of the default page
+ return ObjectTraversalType.RECURSIVE;
+ }
+ else
+ {
+ pageStatus = PAGE_SIBLING;
+
+ // We want to see the sibbling pages of the default page
+ return ObjectTraversalType.SINGLE;
+ }
+ case PAGE:
+ pageStatus = PAGE_CHILD;
+
+ // We want to see the children pages of the default page
+ return ObjectTraversalType.SINGLE;
+ case PAGE_CHILD:
+ case PAGE_SIBLING:
+ return ObjectTraversalType.SKIP;
+ default:
+ throw new AssertionError();
+ }
+ }
+ else if (object instanceof UIWindow)
+ {
+ // We don't traverse windows (for now as they are supposed to be leaves)
+ return ObjectTraversalType.SINGLE;
+ }
+ else if (object instanceof UIContext)
+ {
+ return ObjectTraversalType.RECURSIVE;
+ }
+ else
+ {
+ return ObjectTraversalType.SKIP;
+ }
+ }
+
+ public void leaveObject(UIObject object)
+ {
+ if (object instanceof UIPage)
+ {
+ switch (pageStatus)
+ {
+ case NO_PAGE:
+ throw new AssertionError();
+ case PAGE:
+ pageStatus = NO_PAGE;
+ break;
+ case PAGE_SIBLING:
+ pageStatus = NO_PAGE;
+ break;
+ case PAGE_CHILD:
+ pageStatus = PAGE;
+ break;
+ }
+ }
+ }
+}
\ No newline at end of file
16 years, 4 months
JBoss Portal SVN: r10778 - modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/auth.
by portal-commits@lists.jboss.org
Author: bdaw
Date: 2008-05-19 07:05:59 -0400 (Mon, 19 May 2008)
New Revision: 10778
Modified:
modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/auth/IdentityLoginModule.java
Log:
Add optional check to disable non case sensitive authentication with LDAP
Modified: modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/auth/IdentityLoginModule.java
===================================================================
--- modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/auth/IdentityLoginModule.java 2008-05-18 11:07:15 UTC (rev 10777)
+++ modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/auth/IdentityLoginModule.java 2008-05-19 11:05:59 UTC (rev 10778)
@@ -72,6 +72,8 @@
protected String havingRole;
+ protected String validateUserNameCase;
+
public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options)
{
super.initialize(subject, callbackHandler, sharedState, options);
@@ -85,6 +87,7 @@
.get("membershipModuleJNDIName");
additionalRole = (String) options.get("additionalRole");
havingRole = (String) options.get("havingRole");
+ validateUserNameCase = (String) options.get("validateUserNameCase");
// Some info
log.trace("userModuleJNDIName = " + userModuleJNDIName);
@@ -93,6 +96,7 @@
log.trace("membershipModuleJNDIName = " + membershipModuleJNDIName);
log.trace("additionalRole = " + additionalRole);
log.trace("havingRole = " + havingRole);
+ log.trace("validateUserNameCase = " + validateUserNameCase);
}
private UserModule userModule;
@@ -233,6 +237,14 @@
{
throw new NoSuchUserException("UserModule returned null user object");
}
+
+ //This is because LDAP binds can be non case sensitive
+ if (validateUserNameCase != null && validateUserNameCase.equalsIgnoreCase("true")
+ && !getUsername().equals(user.getUserName()))
+ {
+ return UserStatus.UNEXISTING;
+ }
+
boolean enabled = false;
try {
Object enabledS;
16 years, 4 months
JBoss Portal SVN: r10777 - in branches/JBoss_Portal_Branch_2_6/core-samples/src/resources: portal-users-samples-war/WEB-INF/classes and 1 other directories.
by portal-commits@lists.jboss.org
Author: sviluppatorefico
Date: 2008-05-18 07:07:15 -0400 (Sun, 18 May 2008)
New Revision: 10777
Modified:
branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource.properties
branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_fr.properties
branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_it.properties
branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/oneUser.jsp
branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/users.jsp
Log:
added support for guests and sessions
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-sar/META-INF/jboss-service.xml 2008-05-18 11:06:15 UTC (rev 10776)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-sar/META-INF/jboss-service.xml 2008-05-18 11:07:15 UTC (rev 10777)
@@ -37,4 +37,17 @@
<attribute name="ListenerClassName">org.jboss.portal.core.samples.users.event.UserEventListener</attribute>
</mbean>
+ <mbean
+ code="org.jboss.portal.core.event.PortalEventListenerServiceImpl"
+ name="portal:service=ListenerService,type=session_listener"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Registry"
+ proxy-type="attribute">portal:service=ListenerRegistry</depends>
+ <attribute name="RegistryId">session_listener</attribute>
+ <attribute name="ListenerClassName">org.jboss.portal.core.samples.users.event.PortalSessionEventListener</attribute>
+ </mbean>
+
</server>
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource.properties
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource.properties 2008-05-18 11:06:15 UTC (rev 10776)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource.properties 2008-05-18 11:07:15 UTC (rev 10777)
@@ -23,10 +23,13 @@
NO_USERS_ONLINE=No logged-in user
ONE_USER_ONLINE_0=There is <b>
-ONE_USER_ONLINE_1=</b> logged-in user:
+ONE_USER_ONLINE_1=</b> online user
ONE_USER_IS_0=<b>
ONE_USER_IS_1=</b>
USERS_ONLINE_0=There are <b>
-USERS_ONLINE_1=</b> logged-in users:
+USERS_ONLINE_1=</b> online users
USERS_ARE_0=<b>
-USERS_ARE_1=</b>
\ No newline at end of file
+USERS_ARE_1=</b>
+USERS_WHICH_0=Whose <b>
+USERS_WHICH_1=</b> are logged-in:
+USERS_WHICH_2=</b> is logged-in:
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_fr.properties
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_fr.properties 2008-05-18 11:06:15 UTC (rev 10776)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_fr.properties 2008-05-18 11:07:15 UTC (rev 10777)
@@ -30,7 +30,7 @@
ONE_USER_ONLINE_0 = Il y a <b>
-ONE_USER_ONLINE_1 = </b> utilisateur en ligne:
+ONE_USER_ONLINE_1 = </b> utilisateur en ligne
USERS_ARE_0 = <b>
@@ -38,4 +38,4 @@
USERS_ONLINE_0 = Il y a <b>
-USERS_ONLINE_1 = </b> utilisateurs en ligne:
+USERS_ONLINE_1 = </b> utilisateurs en ligne
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_it.properties
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_it.properties 2008-05-18 11:06:15 UTC (rev 10776)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/classes/Resource_it.properties 2008-05-18 11:07:15 UTC (rev 10777)
@@ -23,10 +23,13 @@
NO_USERS_ONLINE=Nessun utente \u00e8 online
ONE_USER_ONLINE_0=Al momento c'\u00e8 <b>
-ONE_USER_ONLINE_1=</b> utente online:
+ONE_USER_ONLINE_1=</b> utente online
ONE_USER_IS_0=<b>
ONE_USER_IS_1=</b>
USERS_ONLINE_0=Al momento ci sono <b>
-USERS_ONLINE_1=</b> utenti online:
+USERS_ONLINE_1=</b> utenti online
USERS_ARE_0=<b>
-USERS_ARE_1=</b>
\ No newline at end of file
+USERS_ARE_1=</b>
+USERS_WHICH_0=Di cui <b>
+USERS_WHICH_1=</b> sono loggati:
+USERS_WHICH_2=</b> \u00e8 loggato:
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/oneUser.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/oneUser.jsp 2008-05-18 11:06:15 UTC (rev 10776)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/oneUser.jsp 2008-05-18 11:07:15 UTC (rev 10777)
@@ -34,11 +34,16 @@
<span class="portlet-text">
${n:i18n("ONE_USER_ONLINE_0")}
${n:out("USERS_COUNT")}
- ${n:i18n("ONE_USER_ONLINE_1")}
+ ${n:i18n("ONE_USER_ONLINE_1")}
+ <% java.util.LinkedList linkedStack = (java.util.LinkedList)contextStack.get();
+ org.jboss.portal.core.servlet.jsp.taglib.context.Context currentContext =
+ ((org.jboss.portal.core.servlet.jsp.taglib.context.NamedContext)linkedStack.getLast()).getContext();
+ if (!currentContext.get("USERS").equals("[]")) { %>
<br/><br/>
${n:i18n("ONE_USER_IS_0")}
${n:out("USERS")}
${n:i18n("ONE_USER_IS_1")}
+ <% } %>
</span>
</td>
</tr>
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/users.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/users.jsp 2008-05-18 11:06:15 UTC (rev 10776)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/resources/portal-users-samples-war/WEB-INF/jsp/users/users.jsp 2008-05-18 11:07:15 UTC (rev 10777)
@@ -34,11 +34,26 @@
<span class="portlet-text">
${n:i18n("USERS_ONLINE_0")}
${n:out("USERS_COUNT")}
- ${n:i18n("USERS_ONLINE_1")}
+ ${n:i18n("USERS_ONLINE_1")}
+ <% java.util.LinkedList linkedStack = (java.util.LinkedList)contextStack.get();
+ org.jboss.portal.core.servlet.jsp.taglib.context.Context currentContext =
+ ((org.jboss.portal.core.servlet.jsp.taglib.context.NamedContext)linkedStack.getLast()).getContext();
+ if (!currentContext.get("USERS_LOGGED_COUNT").equals("0")) { %>
<br/><br/>
+ ${n:i18n("USERS_WHICH_0")}
+ ${n:out("USERS_LOGGED_COUNT")}
+ <% if (!currentContext.get("USERS_LOGGED_COUNT").equals("1")) { %>
+ ${n:i18n("USERS_WHICH_1")}
+ <% } else { %>
+ ${n:i18n("USERS_WHICH_2")}
+ <% } %>
+ <% }
+ if (!currentContext.get("USERS").equals("[]")) { %>
+ <br/><br/>
${n:i18n("USERS_ARE_0")}
${n:out("USERS")}
- ${n:i18n("USERS_ARE_1")}
+ ${n:i18n("USERS_ARE_1")}
+ <% } %>
</span>
</td>
</tr>
16 years, 4 months
JBoss Portal SVN: r10776 - branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event.
by portal-commits@lists.jboss.org
Author: sviluppatorefico
Date: 2008-05-18 07:06:15 -0400 (Sun, 18 May 2008)
New Revision: 10776
Added:
branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/PortalSessionEventListener.java
branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/StatsListener.java
Log:
this listeners catches create and destroy of a portal session
Added: branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/PortalSessionEventListener.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/PortalSessionEventListener.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/PortalSessionEventListener.java 2008-05-18 11:06:15 UTC (rev 10776)
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * 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. *
+ ******************************************************************************/
+package org.jboss.portal.core.samples.users.event;
+
+import org.jboss.portal.api.event.PortalEvent;
+import org.jboss.portal.api.event.PortalEventContext;
+import org.jboss.portal.api.event.PortalEventListener;
+import org.jboss.portal.api.session.event.PortalSessionEvent;
+import org.jboss.portal.api.user.event.UserAuthenticationEvent;
+import org.jboss.portal.core.identity.UserActivity;
+
+import EDU.oswego.cs.dl.util.concurrent.SynchronizedLong;
+
+/**
+ * @author <a href="mailto:jedim@vige.it">Luca Stancapiano</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortalSessionEventListener extends StatsListener {
+
+ public void onEvent(PortalEventContext eventContext, PortalEvent event) {
+ if (event instanceof PortalSessionEvent) {
+ PortalSessionEvent portalEvent = (PortalSessionEvent) event;
+ UserActivity userActivity = null;
+
+ if (portalEvent.getType() == portalEvent.SESSION_CREATED)
+ {
+ userActivity = new UserActivity(UserActivity.GUEST,
+ eventContext.getPortalRuntimeContext().getSession().getId(), System
+ .currentTimeMillis(), UserActivity.NAVIGATION);
+ }
+ else if (portalEvent.getType() == portalEvent.SESSION_DESTROYED)
+ {
+ userActivity = new UserActivity(UserActivity.GUEST,
+ eventContext.getPortalRuntimeContext().getSession().getId(), System
+ .currentTimeMillis(), UserActivity.EXIT);
+ }
+ getStatsService().registerActivity(userActivity);
+ }
+ }
+}
Property changes on: branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/PortalSessionEventListener.java
___________________________________________________________________
Name: svn:executable
+ *
Added: branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/StatsListener.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/StatsListener.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/StatsListener.java 2008-05-18 11:06:15 UTC (rev 10776)
@@ -0,0 +1,46 @@
+package org.jboss.portal.core.samples.users.event;
+
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import org.apache.log4j.Logger;
+import org.jboss.mx.util.MBeanProxy;
+import org.jboss.mx.util.MBeanProxyCreationException;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.portal.api.event.PortalEventListener;
+import org.jboss.portal.core.identity.UsersActivityStatsService;
+
+public abstract class StatsListener implements PortalEventListener {
+
+ /** Our logger. */
+ private static final Logger log = Logger.getLogger(StatsListener.class);
+
+ private UsersActivityStatsService activityService;
+
+ public UsersActivityStatsService getStatsService() {
+ if (activityService == null) {
+ try {
+ MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
+ activityService = (UsersActivityStatsService) MBeanProxy
+ .get(
+ UsersActivityStatsService.class,
+ new ObjectName(
+ "portal:service=Module,type=UsersActivityStatsService"),
+ mbeanServer);
+ } catch (MBeanProxyCreationException e) {
+ log
+ .error(
+ "could not obtain a proxy for User Activity Statistics Service",
+ e);
+ } catch (MalformedObjectNameException e2) {
+ log
+ .error(
+ "object name to obtain User Activity Statistics Service is wrong",
+ e2);
+ }
+ }
+ return activityService;
+ }
+
+}
16 years, 4 months
JBoss Portal SVN: r10775 - branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users.
by portal-commits@lists.jboss.org
Author: sviluppatorefico
Date: 2008-05-18 07:03:33 -0400 (Sun, 18 May 2008)
New Revision: 10775
Modified:
branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/CurrentUsersPortlet.java
Log:
now we can to see all connected users and guests
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/CurrentUsersPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/CurrentUsersPortlet.java 2008-05-18 11:02:55 UTC (rev 10774)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/CurrentUsersPortlet.java 2008-05-18 11:03:33 UTC (rev 10775)
@@ -56,24 +56,31 @@
rResponse.setContentType("text/html");
PrintWriter writer = rResponse.getWriter();
+
+ long currentTime = System.currentTimeMillis();
//TODO: this is wrong - should pass period instead of current time - actually it works by a coincedence...
- Set users = uass.getActiveUsersNames(System.currentTimeMillis());
+ Set users = uass.getActiveUsersNames(currentTime);
+
+ int sessionCount = uass.getActiveSessionCount(currentTime);
+
+ int allLoggedSessions = uass.getUsersActivities(currentTime).size();
- if (users.size() == 1)
+ if (sessionCount == 1)
{
DelegateContext ctx = new DelegateContext();
ctx.put("USERS", users.toString());
- ctx.put("USERS_COUNT", Integer.toString(users.size()));
+ ctx.put("USERS_COUNT", Integer.toString(sessionCount));
rRequest.setAttribute(PortalJsp.CTX_REQUEST, ctx);
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/users/oneUser.jsp");
rd.include(rRequest, rResponse);
}
- else if (users.size() > 1)
+ else if (sessionCount > 1)
{
DelegateContext ctx = new DelegateContext();
ctx.put("USERS", users.toString());
- ctx.put("USERS_COUNT", Integer.toString(users.size()));
+ ctx.put("USERS_COUNT", Integer.toString(sessionCount));
+ ctx.put("USERS_LOGGED_COUNT", Integer.toString(users.size()));
rRequest.setAttribute(PortalJsp.CTX_REQUEST, ctx);
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/users/users.jsp");
rd.include(rRequest, rResponse);
16 years, 4 months
JBoss Portal SVN: r10774 - branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event.
by portal-commits@lists.jboss.org
Author: sviluppatorefico
Date: 2008-05-18 07:02:55 -0400 (Sun, 18 May 2008)
New Revision: 10774
Modified:
branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/UserEventListener.java
Log:
this listener catches events about create and destroy of a portal session
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/UserEventListener.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/UserEventListener.java 2008-05-18 11:01:48 UTC (rev 10773)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/src/main/org/jboss/portal/core/samples/users/event/UserEventListener.java 2008-05-18 11:02:55 UTC (rev 10774)
@@ -22,86 +22,36 @@
******************************************************************************/
package org.jboss.portal.core.samples.users.event;
-import org.apache.log4j.Logger;
-import org.jboss.mx.util.MBeanProxy;
-import org.jboss.mx.util.MBeanProxyCreationException;
-import org.jboss.mx.util.MBeanServerLocator;
import org.jboss.portal.api.event.PortalEvent;
import org.jboss.portal.api.event.PortalEventContext;
-import org.jboss.portal.api.event.PortalEventListener;
import org.jboss.portal.api.user.event.UserAuthenticationEvent;
import org.jboss.portal.core.identity.UserActivity;
-import org.jboss.portal.core.identity.UsersActivityStatsService;
-import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
/**
* @author <a href="mailto:jedim@vige.it">Luca Stancapiano</a>
* @version $Revision: 1.1 $
*/
-public class UserEventListener implements PortalEventListener
-{
+public class UserEventListener extends StatsListener {
- /** Our logger. */
- private static final Logger log = Logger
- .getLogger(UserEventListener.class);
+ public void onEvent(PortalEventContext eventContext, PortalEvent event) {
+ if (event instanceof UserAuthenticationEvent) {
- private UsersActivityStatsService activityService;
+ UserAuthenticationEvent userEvent = (UserAuthenticationEvent) event;
- public UsersActivityStatsService getStatsService()
- {
- if (activityService == null)
- {
- try
- {
- MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
- activityService = (UsersActivityStatsService)MBeanProxy
- .get(
- UsersActivityStatsService.class,
- new ObjectName(
- "portal:service=Module,type=UsersActivityStatsService"),
- mbeanServer);
- }
- catch (MBeanProxyCreationException e)
- {
- log
- .error(
- "could not obtain a proxy for User Activity Statistics Service",
- e);
- }
- catch (MalformedObjectNameException e2)
- {
- log
- .error(
- "object name to obtain User Activity Statistics Service is wrong",
- e2);
- }
- }
- return activityService;
- }
+ UserActivity userActivity = null;
- public void onEvent(PortalEventContext eventContext, PortalEvent event)
- {
- if (event instanceof UserAuthenticationEvent)
- {
-
- UserAuthenticationEvent userEvent = (UserAuthenticationEvent)event;
-
- UserActivity userActivity = null;
-
- if (userEvent.getType() == UserAuthenticationEvent.SIGN_IN)
- {
- userActivity = new UserActivity(userEvent.getUserId(), System
- .currentTimeMillis(), UserActivity.NAVIGATION);
- }
- else if (userEvent.getType() == UserAuthenticationEvent.SIGN_OUT)
- {
- userActivity = new UserActivity(userEvent.getUserId(), System
- .currentTimeMillis(), UserActivity.SIGN_OUT);
- }
- getStatsService().registerActivity(userActivity);
- }
- }
+ if (userEvent.getType() == UserAuthenticationEvent.SIGN_IN) {
+ userActivity = new UserActivity(userEvent.getUserId(),
+ eventContext.getPortalRuntimeContext().getSession().getId()
+ , System.currentTimeMillis(),
+ UserActivity.NAVIGATION);
+ } else if (userEvent.getType() == UserAuthenticationEvent.SIGN_OUT) {
+ userActivity = new UserActivity(userEvent.getUserId(),
+ eventContext.getPortalRuntimeContext().getSession().getId()
+ , System.currentTimeMillis(),
+ UserActivity.EXIT);
+ }
+ getStatsService().registerActivity(userActivity);
+ }
+ }
}
16 years, 4 months
JBoss Portal SVN: r10773 - branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity.
by portal-commits@lists.jboss.org
Author: sviluppatorefico
Date: 2008-05-18 07:01:48 -0400 (Sun, 18 May 2008)
New Revision: 10773
Modified:
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsService.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsServiceImpl.java
Log:
added support for sessionId and guest
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsService.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsService.java 2008-05-18 11:00:50 UTC (rev 10772)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsService.java 2008-05-18 11:01:48 UTC (rev 10773)
@@ -32,6 +32,8 @@
{
public Set getActiveUsersIds(long period);
+
+ public int getActiveSessionCount(long period);
public Set getActiveUsersNames(long period);
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsServiceImpl.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsServiceImpl.java 2008-05-18 11:00:50 UTC (rev 10772)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UsersActivityStatsServiceImpl.java 2008-05-18 11:01:48 UTC (rev 10773)
@@ -1,24 +1,24 @@
/*
-* 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 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.
+ */
package org.jboss.portal.core.identity;
@@ -42,280 +42,249 @@
import java.util.Set;
/**
- * @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot com">Boleslaw Dawidowicz</a>
+ * @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot
+ * com">Boleslaw Dawidowicz</a>
* @author <a href="mailto:jedim@vige.it">Luca Stancapiano</a>
* @version $Revision$
*/
-public class UsersActivityStatsServiceImpl extends AbstractJBossService implements UsersActivityStatsService, NotificationListener
-{
- /** Our logger. */
- private static final Logger log = Logger.getLogger(UsersActivityStatsServiceImpl.class);
+public class UsersActivityStatsServiceImpl extends AbstractJBossService
+ implements UsersActivityStatsService, NotificationListener {
+ /** Our logger. */
+ private static final Logger log = Logger
+ .getLogger(UsersActivityStatsServiceImpl.class);
- //TODO: some value just to begin - find some good default
- private int userTrackerThreadsNumber = 10;
+ // TODO: some value just to begin - find some good default
+ private int userTrackerThreadsNumber = 10;
- private int updaterThreadsNumber = 1;
+ private int updaterThreadsNumber = 1;
- private int updaterInterval = 1000;
+ private int updaterInterval = 1000;
- private int activityQueueLimit = 1000;
+ private int activityQueueLimit = 1000;
- private long activityTimeout = 1800000;
+ private long activityTimeout = 1800000;
- private Executor userTrackerExecutor;
+ private Executor userTrackerExecutor;
- private ScheduledExecutorService updaterExecutor;
+ private ScheduledExecutorService updaterExecutor;
- private Queue activityQueue;
+ private Queue activityQueue;
- private volatile Set activityResults = new HashSet();
+ private volatile Set activityResults = new HashSet();
- private String activityBroadcasterName;
+ private String activityBroadcasterName;
- public UsersActivityStatsServiceImpl()
- {
- }
+ public UsersActivityStatsServiceImpl() {
+ }
- protected void startService() throws Exception
- {
- super.startService();
+ protected void startService() throws Exception {
+ super.startService();
- activityQueue = new LinkedBlockingQueue(getActivityQueueLimit());
+ activityQueue = new LinkedBlockingQueue(getActivityQueueLimit());
- userTrackerExecutor = Executors.newFixedThreadPool(getUserTrackerThreadsNumber());
+ userTrackerExecutor = Executors
+ .newFixedThreadPool(getUserTrackerThreadsNumber());
- updaterExecutor = Executors.newScheduledThreadPool(getUpdaterThreadsNumber());
+ updaterExecutor = Executors
+ .newScheduledThreadPool(getUpdaterThreadsNumber());
- updaterExecutor.scheduleWithFixedDelay(new Updater(activityQueue), getUpdaterInterval(), getUpdaterInterval(), TimeUnit.MILLISECONDS);
+ updaterExecutor.scheduleWithFixedDelay(new Updater(activityQueue),
+ getUpdaterInterval(), getUpdaterInterval(),
+ TimeUnit.MILLISECONDS);
- if (activityBroadcasterName != null)
- {
- server.addNotificationListener(new ObjectName(activityBroadcasterName), this, null, null);
- }
- else
- {
- addNotificationListener(this, null, null);
- }
+ if (activityBroadcasterName != null) {
+ server.addNotificationListener(new ObjectName(
+ activityBroadcasterName), this, null, null);
+ } else {
+ addNotificationListener(this, null, null);
+ }
+ }
- }
+ protected void stopService() throws Exception {
+ super.stopService();
- protected void stopService() throws Exception
- {
- super.stopService();
+ // /TODO: stop all the threads
+ }
- // /TODO: stop all the threads
- }
+ public Set getActiveUsersIds(long period) {
+ long currentTime = System.currentTimeMillis();
- public Set getActiveUsersIds(long period)
- {
- long currentTime = System.currentTimeMillis();
+ Set results = new HashSet();
+ for (Iterator iterator = activityResults.iterator(); iterator.hasNext();) {
+ UserActivity ua = (UserActivity) iterator.next();
+ if (currentTime - ua.getTimestamp() < period
+ && !ua.getId().equals(UserActivity.GUEST)) {
+ results.add(ua.getSessionId());
+ }
+ }
+ return results;
+ }
- Set results = new HashSet();
- for (Iterator iterator = activityResults.iterator(); iterator.hasNext();)
- {
- UserActivity ua = (UserActivity)iterator.next();
- if (currentTime - ua.getTimestamp() < period)
- {
- results.add(ua.getId());
- }
- }
- return results;
- }
+ public int getActiveSessionCount(long period) {
+ long currentTime = System.currentTimeMillis();
- public Set getActiveUsersNames(long period)
- {
- long currentTime = System.currentTimeMillis();
- Set results = new HashSet();
- for (Iterator iterator = activityResults.iterator(); iterator.hasNext();)
- {
- UserActivity ua = (UserActivity)iterator.next();
- if (currentTime - ua.getTimestamp() < period)
- {
- results.add(ua.getId());
- }
- }
- return results;
- }
+ int results = 0;
+ for (Iterator iterator = activityResults.iterator(); iterator.hasNext();) {
+ UserActivity ua = (UserActivity) iterator.next();
+ if (currentTime - ua.getTimestamp() < period
+ && ua.getId().equals(UserActivity.GUEST)) {
+ results++;
+ }
+ }
+ return results;
+ }
- public Set getUsersActivities(long period)
- {
- long currentTime = System.currentTimeMillis();
- Set results = new HashSet();
- for (Iterator iterator = activityResults.iterator(); iterator.hasNext();)
- {
- UserActivity ua = (UserActivity)iterator.next();
- if (currentTime - ua.getTimestamp() < period)
- {
- results.add(ua);
- }
- }
- return results;
- }
+ public Set getActiveUsersNames(long period) {
+ long currentTime = System.currentTimeMillis();
+ Set results = new HashSet();
+ for (Iterator iterator = activityResults.iterator(); iterator.hasNext();) {
+ UserActivity ua = (UserActivity) iterator.next();
+ if (currentTime - ua.getTimestamp() < period
+ && !ua.getId().equals(UserActivity.GUEST)) {
+ results.add(ua.getId());
+ }
+ }
+ return results;
+ }
- public void registerActivity(final UserActivity userActivity)
- {
- try
- {
- Notification notification = new Notification(Integer.toString(userActivity.getType()),
- this.getServiceName(),
- userActivity.getTimestamp(),
- userActivity.getTimestamp(),
- userActivity.getId());
+ public Set getUsersActivities(long period) {
+ long currentTime = System.currentTimeMillis();
+ Set results = new HashSet();
+ for (Iterator iterator = activityResults.iterator(); iterator.hasNext();) {
+ UserActivity ua = (UserActivity) iterator.next();
+ if (currentTime - ua.getTimestamp() < period) {
+ results.add(ua);
+ }
+ }
+ return results;
+ }
+ public void registerActivity(final UserActivity userActivity) {
+ try {
+ Notification notification = new Notification(Integer
+ .toString(userActivity.getType()), this.getServiceName(),
+ userActivity.getTimestamp(), userActivity.getTimestamp(),
+ userActivity.getId() + "_" + userActivity.getSessionId());
- if (activityBroadcasterName != null)
- {
- log.debug("Broadcasting user activity notification ");
+ if (activityBroadcasterName != null) {
+ log.debug("Broadcasting user activity notification ");
- server.invoke(new ObjectName(activityBroadcasterName),
- "sendNotification",
- new Object[]{notification},
- new String[]{Notification.class.getName()});
- }
- else
- {
- log.debug("Sending local user activity notification ");
- sendNotification(notification);
- }
+ server.invoke(new ObjectName(activityBroadcasterName),
+ "sendNotification", new Object[] { notification },
+ new String[] { Notification.class.getName() });
+ } else {
+ log.debug("Sending local user activity notification ");
+ sendNotification(notification);
+ }
- }
- catch (Exception e)
- {
- log.error("Failed to send user activity notification: ", e);
- }
+ } catch (Exception e) {
+ log.error("Failed to send user activity notification: ", e);
+ }
+ }
- }
+ public void handleNotification(Notification notification, Object object) {
+ log.debug("Handling user activity notification ");
+ final UserActivity ac = new UserActivity(notification);
- public void handleNotification(Notification notification, Object object)
- {
- log.debug("Handling user activity notification ");
- final UserActivity ac = new UserActivity(notification);
+ FutureTask task = new FutureTask(new Callable() {
+ public Object call() throws Exception {
- FutureTask task = new FutureTask(new Callable()
- {
- public Object call() throws Exception
- {
+ boolean success = activityQueue.offer(ac);
+ if (log.isTraceEnabled()) {
+ if (!success) {
+ log
+ .trace("Failed track user activity - activityQueue is full ");
+ }
+ }
+ return null;
+ }
+ });
- boolean success = activityQueue.offer(ac);
- if (log.isTraceEnabled())
- {
- if (!success)
- {
- log.trace("Failed track user activity - activityQueue is full ");
- }
- }
- return null;
- }
- });
+ userTrackerExecutor.execute(task);
+ }
- userTrackerExecutor.execute(task);
- }
+ public int getUserTrackerThreadsNumber() {
+ return userTrackerThreadsNumber;
+ }
+ public void setUserTrackerThreadsNumber(int userTrackerThreadsNumber) {
+ this.userTrackerThreadsNumber = userTrackerThreadsNumber;
+ }
- public int getUserTrackerThreadsNumber()
- {
- return userTrackerThreadsNumber;
- }
+ public int getUpdaterThreadsNumber() {
+ return updaterThreadsNumber;
+ }
- public void setUserTrackerThreadsNumber(int userTrackerThreadsNumber)
- {
- this.userTrackerThreadsNumber = userTrackerThreadsNumber;
- }
+ public void setUpdaterThreadsNumber(int updaterThreadsNumber) {
+ this.updaterThreadsNumber = updaterThreadsNumber;
+ }
- public int getUpdaterThreadsNumber()
- {
- return updaterThreadsNumber;
- }
+ public int getUpdaterInterval() {
+ return updaterInterval;
+ }
- public void setUpdaterThreadsNumber(int updaterThreadsNumber)
- {
- this.updaterThreadsNumber = updaterThreadsNumber;
- }
+ public void setUpdaterInterval(int updaterInterval) {
+ this.updaterInterval = updaterInterval;
+ }
- public int getUpdaterInterval()
- {
- return updaterInterval;
- }
+ public int getActivityQueueLimit() {
+ return activityQueueLimit;
+ }
- public void setUpdaterInterval(int updaterInterval)
- {
- this.updaterInterval = updaterInterval;
- }
+ public void setActivityQueueLimit(int activityQueueLimit) {
+ this.activityQueueLimit = activityQueueLimit;
+ }
- public int getActivityQueueLimit()
- {
- return activityQueueLimit;
- }
+ public long getActivityTimeout() {
+ return activityTimeout;
+ }
- public void setActivityQueueLimit(int activityQueueLimit)
- {
- this.activityQueueLimit = activityQueueLimit;
- }
+ public void setActivityTimeout(long activityTimeout) {
+ this.activityTimeout = activityTimeout;
+ }
- public long getActivityTimeout()
- {
- return activityTimeout;
- }
+ public String getActivityBroadcasterName() {
+ return activityBroadcasterName;
+ }
- public void setActivityTimeout(long activityTimeout)
- {
- this.activityTimeout = activityTimeout;
- }
+ public void setActivityBroadcasterName(String activityBroadcasterName) {
+ this.activityBroadcasterName = activityBroadcasterName;
+ }
- public String getActivityBroadcasterName()
- {
- return activityBroadcasterName;
- }
+ private class Updater implements Runnable {
+ private final Queue activityQueue;
- public void setActivityBroadcasterName(String activityBroadcasterName)
- {
- this.activityBroadcasterName = activityBroadcasterName;
- }
+ public Updater(Queue activityQueue) {
+ this.activityQueue = activityQueue;
+ }
- private class Updater implements Runnable
- {
- private final Queue activityQueue;
+ // never run
+ private Updater() {
+ this.activityQueue = null;
+ }
- public Updater(Queue activityQueue)
- {
- this.activityQueue = activityQueue;
- }
+ public void run() {
+ long currentTime = System.currentTimeMillis();
- //never run
- private Updater()
- {
- this.activityQueue = null;
- }
+ Set stillActive = getUsersActivities(activityTimeout);
- public void run()
- {
- long currentTime = System.currentTimeMillis();
+ while (!activityQueue.isEmpty()) {
+ UserActivity activity = (UserActivity) activityQueue.poll();
+ if (activity != null
+ && ((currentTime - activity.getTimestamp()) < activityTimeout)) {
+ if (activity.getType() != UserActivity.EXIT) {
+ stillActive.add(activity);
+ } else {
+ stillActive.remove(activity);
+ }
+ }
+ }
- Set stillActive = getUsersActivities(activityTimeout);
+ activityResults = Collections.unmodifiableSet(stillActive);
- while (!activityQueue.isEmpty())
- {
- UserActivity activity = (UserActivity)activityQueue.poll();
- if (activity != null && ((currentTime - activity.getTimestamp()) < activityTimeout))
- {
- if (activity.getType() != UserActivity.SIGN_OUT)
- {
- stillActive.add(activity);
- }
- else
- {
- stillActive.remove(activity);
- }
- }
- }
+ }
+ }
- activityResults = Collections.unmodifiableSet(stillActive);
-
- }
- }
-
-
}
-
16 years, 4 months
JBoss Portal SVN: r10772 - branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity.
by portal-commits@lists.jboss.org
Author: sviluppatorefico
Date: 2008-05-18 07:00:50 -0400 (Sun, 18 May 2008)
New Revision: 10772
Modified:
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UserActivity.java
Log:
added support for sessionId and guest
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UserActivity.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UserActivity.java 2008-05-10 06:12:10 UTC (rev 10771)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/identity/UserActivity.java 2008-05-18 11:00:50 UTC (rev 10772)
@@ -34,20 +34,24 @@
public static final int NAVIGATION = 0;
- public static final int SIGN_OUT = 1;
+ public static final int EXIT = 1;
private String id;
+ private String sessionId;
+
private long timestamp;
private final int type;
+
+ public final static String GUEST = "guest";
private UserActivity()
{
this.type = NAVIGATION;
}
- public UserActivity(String id, long timestamp, int type)
+ public UserActivity(String id, String sessionId, long timestamp, int type)
{
if (id == null)
{
@@ -55,6 +59,7 @@
}
this.id = id;
+ this.sessionId = sessionId;
this.timestamp = timestamp;
this.type = type;
}
@@ -65,7 +70,8 @@
{
throw new IllegalArgumentException("Id (notification message) cannot be null");
}
- this.id = notification.getMessage();
+ this.id = notification.getMessage().substring(0, notification.getMessage().indexOf("_"));
+ this.sessionId = notification.getMessage().substring(notification.getMessage().indexOf("_"));
this.timestamp = notification.getTimeStamp();
this.type = Integer.parseInt(notification.getType());
}
@@ -75,6 +81,11 @@
return id;
}
+ public String getSessionId()
+ {
+ return sessionId;
+ }
+
public long getTimestamp()
{
return timestamp;
@@ -99,7 +110,7 @@
UserActivity that = (UserActivity)o;
- if (!id.equals(that.id))
+ if (!id.equals(that.id) || !sessionId.equals(that.sessionId))
{
return false;
}
@@ -110,7 +121,7 @@
public int hashCode()
{
int result;
- result = id.hashCode();
+ result = id.hashCode()+sessionId.hashCode();
return result;
}
16 years, 4 months