gatein SVN: r4151 - in portal/branches/navcontroller: component/web/server/src/main/java/org/exoplatform/web/handler and 3 other directories.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-09-11 04:17:14 -0400 (Sat, 11 Sep 2010)
New Revision: 4151
Added:
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/ControllerContext.java
Modified:
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebAppController.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebRequestHandler.java
portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/DownloadHandler.java
portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/UploadHandler.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/navigation/NavigationLocator.java
Log:
make PortalURL now uses the router to build URLs
Added: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/ControllerContext.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/ControllerContext.java (rev 0)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/ControllerContext.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.web;
+
+import org.exoplatform.web.controller.QualifiedName;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class ControllerContext
+{
+
+ /** . */
+ private final HttpServletRequest request;
+
+ /** . */
+ private final HttpServletResponse response;
+
+ /** . */
+ private final WebAppController controller;
+
+ /** . */
+ private final Map<QualifiedName, String> parameters;
+
+ ControllerContext(
+ WebAppController controller,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ Map<QualifiedName, String> parameters)
+ {
+ this.controller = controller;
+ this.request = request;
+ this.response = response;
+ this.parameters = parameters;
+ }
+
+ public WebAppController getController()
+ {
+ return controller;
+ }
+
+ public HttpServletRequest getRequest()
+ {
+ return request;
+ }
+
+ public HttpServletResponse getResponse()
+ {
+ return response;
+ }
+
+ public String getParameter(QualifiedName parameter)
+ {
+ return parameters.get(parameter);
+ }
+
+ public String renderURL(Map<QualifiedName, String> parameters)
+ {
+ return request.getContextPath() + controller.router.render(parameters);
+ }
+}
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebAppController.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebAppController.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebAppController.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -51,6 +51,9 @@
{
/** . */
+ public static final QualifiedName HANDLER_PARAM = new QualifiedName("gtn", "handler");
+
+ /** . */
protected static Logger log = LoggerFactory.getLogger(WebAppController.class);
/** . */
@@ -63,7 +66,7 @@
private HashMap<String, WebRequestHandler> handlers;
/** . */
- private Router router;
+ final Router router;
/**
* The WebAppControler along with the PortalRequestHandler defined in the init() method of the
@@ -112,8 +115,6 @@
applications_.put(app.getApplicationId(), app);
}
- private static final QualifiedName HANDLER_PARAM = new QualifiedName("ctrl", "handler");
-
public void register(WebRequestHandler handler) throws Exception
{
for (String path : handler.getPath())
@@ -121,7 +122,7 @@
RouteMetaData routeMetaData = new RouteMetaData(path);
//
- String handlerKey = "" + System.identityHashCode(handler);
+ String handlerKey = handler.getClass().getSimpleName();
//
routeMetaData.addParameter(HANDLER_PARAM, handlerKey);
@@ -169,9 +170,12 @@
RequestLifeCycle.begin(portalContainer);
//
+ ControllerContext context = new ControllerContext(this, req, res, parameters);
+
+ //
try
{
- handler.execute(this, req, res, parameters);
+ handler.execute(context);
}
finally
{
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebRequestHandler.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebRequestHandler.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/WebRequestHandler.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -20,12 +20,7 @@
package org.exoplatform.web;
import org.exoplatform.container.component.BaseComponentPlugin;
-import org.exoplatform.web.controller.QualifiedName;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Map;
-
/**
* Created by The eXo Platform SAS
* Mar 21, 2007
@@ -47,11 +42,7 @@
abstract public String[] getPath();
- abstract public void execute(
- WebAppController app,
- HttpServletRequest req,
- HttpServletResponse res,
- Map<QualifiedName, String> parameters) throws Exception;
+ abstract public void execute(ControllerContext context) throws Exception;
public void onDestroy(WebAppController controler) throws Exception
{
Modified: portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/DownloadHandler.java
===================================================================
--- portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/DownloadHandler.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/DownloadHandler.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -23,6 +23,7 @@
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.download.DownloadResource;
import org.exoplatform.download.DownloadService;
+import org.exoplatform.web.ControllerContext;
import org.exoplatform.web.WebAppController;
import org.exoplatform.web.WebRequestHandler;
import org.exoplatform.web.controller.QualifiedName;
@@ -50,8 +51,14 @@
return new String[]{"/download"};
}
- public void execute(WebAppController controller, HttpServletRequest req, HttpServletResponse res, Map<QualifiedName, String> parameters) throws Exception
+ @Override
+ public void execute(ControllerContext context) throws Exception
{
+ execute(context.getController(), context.getRequest(), context.getResponse());
+ }
+
+ public void execute(WebAppController controller, HttpServletRequest req, HttpServletResponse res) throws Exception
+ {
String resourceId = req.getParameter("resourceId");
res.setHeader("Cache-Control", "private max-age=600, s-maxage=120");
ExoContainer container = ExoContainerContext.getCurrentContainer();
Modified: portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/UploadHandler.java
===================================================================
--- portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/UploadHandler.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/component/web/server/src/main/java/org/exoplatform/web/handler/UploadHandler.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -24,6 +24,7 @@
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.upload.UploadResource;
import org.exoplatform.upload.UploadService;
+import org.exoplatform.web.ControllerContext;
import org.exoplatform.web.WebAppController;
import org.exoplatform.web.WebRequestHandler;
import org.exoplatform.web.controller.QualifiedName;
@@ -54,8 +55,14 @@
return new String[]{"/upload"};
}
- public void execute(WebAppController controller, HttpServletRequest req, HttpServletResponse res, Map<QualifiedName, String> parameters) throws Exception
+ @Override
+ public void execute(ControllerContext context) throws Exception
{
+ execute(context.getController(), context.getRequest(), context.getResponse());
+ }
+
+ public void execute(WebAppController controller, HttpServletRequest req, HttpServletResponse res) throws Exception
+ {
String action = req.getParameter("action");
String[] uploadIds = req.getParameterValues("uploadId");
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -29,13 +29,13 @@
import org.exoplatform.portal.config.model.PageNode;
import org.exoplatform.portal.url.LocatorProviderService;
import org.exoplatform.portal.url.PortalURL;
-import org.exoplatform.portal.webui.portal.PageNodeEvent;
import org.exoplatform.portal.webui.portal.UIPortal;
import org.exoplatform.portal.webui.util.Util;
import org.exoplatform.portal.webui.workspace.UIPortalApplication;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.resources.Orientation;
+import org.exoplatform.web.ControllerContext;
import org.exoplatform.web.application.JavascriptManager;
import org.exoplatform.web.application.URLBuilder;
import org.exoplatform.web.url.LocatorProvider;
@@ -45,7 +45,6 @@
import org.exoplatform.webui.application.WebuiApplication;
import org.exoplatform.webui.application.WebuiRequestContext;
import org.exoplatform.webui.core.UIComponent;
-import org.exoplatform.webui.event.Event;
import org.gatein.common.http.QueryStringParser;
import org.w3c.dom.Element;
@@ -95,9 +94,11 @@
final static public String REQUEST_METADATA = "portal:requestMetadata".intern();
- private String portalOwner_;
+ /** The site name decoded from the request. */
+ private final String portalOwner_;
- private String nodePath_;
+ /** The path decoded from the request. */
+ private final String nodePath_;
private String requestURI_;
@@ -134,6 +135,9 @@
/** . */
private final LocatorProviderService locatorFactory;
+ /** . */
+ private final ControllerContext controllerContext;
+
public JavascriptManager getJavascriptManager()
{
return jsmanager_;
@@ -146,22 +150,22 @@
* 2. <code>portalOwner</code> : The portal name ( "classic" for instance )<br/>
* 3. <code>portalURI</code> : The URI to current portal ( "/portal/public/classic/ for instance )<br/>
* 4. <code>nodePath</code> : The path that is used to reflect to a navigation node
- *
- * @param app an instance of {@link PortalApplication}
- * @param req the {@ HttpServletRequest} object that is sent to the {@link PortalController} servlet
- * @param res
- * @throws Exception
*/
- public PortalRequestContext(WebuiApplication app, HttpServletRequest req, HttpServletResponse res) throws Exception
+ public PortalRequestContext(
+ WebuiApplication app,
+ ControllerContext controllerContext,
+ String requestSiteName,
+ String requestPath) throws Exception
{
super(app);
//
- locatorFactory = (LocatorProviderService)PortalContainer.getComponent(LocatorProviderService.class);
+ this.locatorFactory = (LocatorProviderService)PortalContainer.getComponent(LocatorProviderService.class);
+ this.controllerContext = controllerContext;
//
- request_ = req;
- response_ = res;
+ request_ = controllerContext.getRequest();
+ response_ = controllerContext.getResponse();
response_.setBufferSize(1024 * 100);
setSessionId(request_.getSession().getId());
@@ -199,6 +203,7 @@
requestURI_ = URLDecoder.decode(request_.getRequestURI(), "UTF-8");
+/*
// req.getPathInfo will already have the encoding set from the server.
// We need to use the UTF-8 value since this is how we store the portal name.
// Reconstructing the getPathInfo from the non server decoded values.
@@ -215,6 +220,10 @@
}
portalOwner_ = pathInfo.substring(1, colonIndex);
nodePath_ = pathInfo.substring(colonIndex, pathInfo.length());
+*/
+ //
+ portalOwner_ = requestSiteName;
+ nodePath_ = requestPath;
portalURI = requestURI_.substring(0, requestURI_.lastIndexOf(nodePath_)) + "/";
@@ -236,6 +245,11 @@
return new PortalURL<R, L>(this, locator, false);
}
+ public ControllerContext getControllerContext()
+ {
+ return controllerContext;
+ }
+
public void refreshResourceBundle() throws Exception
{
appRes_ = getApplication().getResourceBundle(getLocale());
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -23,7 +23,7 @@
import org.exoplatform.portal.config.StaleModelException;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
-import org.exoplatform.web.WebAppController;
+import org.exoplatform.web.ControllerContext;
import org.exoplatform.web.WebRequestHandler;
import org.exoplatform.web.application.ApplicationLifecycle;
import org.exoplatform.web.application.ApplicationRequestPhaseLifecycle;
@@ -32,11 +32,8 @@
import org.exoplatform.web.controller.QualifiedName;
import org.exoplatform.webui.application.WebuiRequestContext;
import org.exoplatform.webui.core.UIApplication;
-import org.exoplatform.webui.core.UIComponent;
-import org.exoplatform.webui.event.Event;
import java.util.List;
-import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -53,6 +50,14 @@
protected static Log log = ExoLogger.getLogger("portal:PortalRequestHandler");
+
+ /** . */
+ public static final QualifiedName REQUEST_PATH = new QualifiedName("gtn", "path");
+
+ /** . */
+ public static final QualifiedName REQUEST_SITE_NAME = new QualifiedName("gtn", "sitename");
+
+ /** . */
private String[] PATHS = {"/public/{{gtn}sitename}{{gtn}path:.*}", "/private/{{gtn}sitename}{{gtn}path:.*}"};
public String[] getPath()
@@ -84,13 +89,23 @@
*
*/
@SuppressWarnings("unchecked")
- public void execute(WebAppController controller, HttpServletRequest req, HttpServletResponse res, Map<QualifiedName, String> parameters) throws Exception
+ @Override
+ public void execute(ControllerContext controllerContext) throws Exception
{
+ HttpServletRequest req = controllerContext.getRequest();
+ HttpServletResponse res = controllerContext.getResponse();
+
+
log.debug("Session ID = " + req.getSession().getId());
res.setHeader("Cache-Control", "no-cache");
- PortalApplication app = controller.getApplication(PortalApplication.PORTAL_APPLICATION_ID);
- PortalRequestContext context = new PortalRequestContext(app, req, res);
+ //
+ String requestPath = controllerContext.getParameter(REQUEST_PATH);
+ String requestSiteName = controllerContext.getParameter(REQUEST_SITE_NAME);
+
+ //
+ PortalApplication app = controllerContext.getController().getApplication(PortalApplication.PORTAL_APPLICATION_ID);
+ PortalRequestContext context = new PortalRequestContext(app, controllerContext, requestSiteName, requestPath);
if (context.getPortalOwner().length() == 0) {
res.sendRedirect(req.getContextPath());
return;
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -20,10 +20,16 @@
package org.exoplatform.portal.url;
import org.exoplatform.portal.application.PortalRequestContext;
+import org.exoplatform.portal.application.PortalRequestHandler;
+import org.exoplatform.web.ControllerContext;
+import org.exoplatform.web.WebAppController;
+import org.exoplatform.web.controller.QualifiedName;
import org.exoplatform.web.url.ResourceLocator;
import org.exoplatform.web.url.ResourceURL;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
@@ -67,12 +73,10 @@
}
//
- url.append(requestContext.getPortalURI());
-
- //
+ StringBuilder builder = new StringBuilder();
try
{
- locator.append(url);
+ locator.append(builder);
}
catch (IOException e)
{
@@ -81,7 +85,20 @@
throw ae;
}
+ // julien : find out how to change the hardcoded "classic"
+ Map<QualifiedName, String> parameters = new HashMap<QualifiedName, String>();
+ parameters.put(PortalRequestHandler.REQUEST_PATH, builder.toString());
+ parameters.put(PortalRequestHandler.REQUEST_SITE_NAME, "classic");
+ parameters.put(WebAppController.HANDLER_PARAM, PortalRequestHandler.class.getSimpleName());
+
//
+ ControllerContext controllerContext = requestContext.getControllerContext();
+ String s = controllerContext.renderURL(parameters);
+
+ //
+ url.append(s);
+
+ //
if (ajax)
{
url.append("?ajaxRequest=true");
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/navigation/NavigationLocator.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/navigation/NavigationLocator.java 2010-09-11 03:07:31 UTC (rev 4150)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/navigation/NavigationLocator.java 2010-09-11 08:17:14 UTC (rev 4151)
@@ -52,6 +52,6 @@
public void append(Appendable appendable) throws IOException
{
- appendable.append(resource.getUri());
+ appendable.append('/').append(resource.getUri());
}
}
15 years, 7 months
gatein SVN: r4150 - portal/branches/branch-r4047/examples/portal/war/src/main/webapp/WEB-INF.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2010-09-10 23:07:31 -0400 (Fri, 10 Sep 2010)
New Revision: 4150
Modified:
portal/branches/branch-r4047/examples/portal/war/src/main/webapp/WEB-INF/web.xml
Log:
GTNPORTAL-1342 No Graphic of Text validation in sample-portal
Modified: portal/branches/branch-r4047/examples/portal/war/src/main/webapp/WEB-INF/web.xml
===================================================================
--- portal/branches/branch-r4047/examples/portal/war/src/main/webapp/WEB-INF/web.xml 2010-09-11 02:50:25 UTC (rev 4149)
+++ portal/branches/branch-r4047/examples/portal/war/src/main/webapp/WEB-INF/web.xml 2010-09-11 03:07:31 UTC (rev 4150)
@@ -185,7 +185,25 @@
<servlet-class>org.gatein.wci.api.GateInServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
+
+ <servlet>
+ <servlet-name>StickyCaptcha</servlet-name>
+ <servlet-class>org.exoplatform.web.security.CaptchaServlet</servlet-class>
+ <init-param>
+ <param-name>width</param-name>
+ <param-value>200</param-value>
+ </init-param>
+ <init-param>
+ <param-name>height</param-name>
+ <param-value>75</param-value>
+ </init-param>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>StickyCaptcha</servlet-name>
+ <url-pattern>/captcha</url-pattern>
+ </servlet-mapping>
+
<!-- ================================================================= -->
<servlet-mapping>
<servlet-name>InitiateLoginServlet</servlet-name>
15 years, 7 months
gatein SVN: r4149 - portal/branches/branch-r4047/portlet/exoadmin/src/main/webapp/WEB-INF.
by do-not-reply@jboss.org
Author: ndkhoiits
Date: 2010-09-10 22:50:25 -0400 (Fri, 10 Sep 2010)
New Revision: 4149
Modified:
portal/branches/branch-r4047/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml
Log:
remove the wrong configuration for supported locale
Modified: portal/branches/branch-r4047/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- portal/branches/branch-r4047/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml 2010-09-10 20:49:41 UTC (rev 4148)
+++ portal/branches/branch-r4047/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml 2010-09-11 02:50:25 UTC (rev 4149)
@@ -235,7 +235,7 @@
<mime-type>text/html</mime-type>
<portlet-mode>help</portlet-mode>
</supports>
- <supported-locale>en,fr,vi,ar</supported-locale>
+ <supported-locale>en</supported-locale>
<resource-bundle>locale.portlet.exoadmin.AdminToolbarPortlet</resource-bundle>
<portlet-info>
<title>Administration Toolbar Portlet</title>
15 years, 7 months
gatein SVN: r4148 - portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-09-10 16:49:41 -0400 (Fri, 10 Sep 2010)
New Revision: 4148
Modified:
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
Log:
remove parameter for now
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-10 18:24:41 UTC (rev 4147)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-10 20:49:41 UTC (rev 4148)
@@ -19,16 +19,11 @@
package org.exoplatform.portal.url;
-import org.exoplatform.Constants;
import org.exoplatform.portal.application.PortalRequestContext;
-import org.exoplatform.web.application.Parameter;
import org.exoplatform.web.url.ResourceLocator;
import org.exoplatform.web.url.ResourceURL;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
/**
* @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
@@ -37,8 +32,6 @@
public class PortalURL<R, L extends ResourceLocator<R>> extends ResourceURL<R, L>
{
- private List<Parameter> params;
-
/** . */
private final PortalRequestContext requestContext;
@@ -56,38 +49,24 @@
this.requestContext = requestContext;
}
- public PortalURL<R, L> addParameters(Parameter... param)
- {
- if (params == null)
- {
- params = new ArrayList<Parameter>();
- }
- params.addAll(Arrays.asList(param));
- return this;
- }
-
- public PortalURL<R, L> setParameters(Parameter... param)
- {
- params = (param != null) ? Arrays.asList(param) : null;
- return this;
- }
-
- public Parameter[] getParameters()
- {
- return (Parameter[])params.toArray();
- }
-
public String toString()
{
//
StringBuilder url = new StringBuilder();
+ //
if (locator.getResource() == null)
{
- throw new IllegalStateException("No resource set of the portal URL");
+ throw new IllegalStateException("No resource set on portal URL");
}
//
+ if (ajax)
+ {
+ url.append("javascript:ajaxGet('");
+ }
+
+ //
url.append(requestContext.getPortalURI());
//
@@ -102,38 +81,14 @@
throw ae;
}
- if (ajax || params != null)
+ //
+ if (ajax)
{
- url.append("?");
- boolean addedAmpersand = false;
-
- if (params != null)
- {
- for (Parameter param : params)
- {
- if (addedAmpersand)
- {
- url.append(Constants.AMPERSAND);
- }
- url.append(param.getName()).append("=").append(param.getValue());
- addedAmpersand = true;
- }
- }
-
- if (ajax)
- {
- if (addedAmpersand)
- {
- url.append(Constants.AMPERSAND);
- }
- url.append("ajaxRequest=true");
-
- //adding the ajaxGet javascript function to handle the response
- url.insert(0, "javascript:ajaxGet('");
- url.append("')");
- }
+ url.append("?ajaxRequest=true");
+ url.append("')");
}
+ //
return url.toString();
}
}
15 years, 7 months
gatein SVN: r4147 - in portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui: workspace and 1 other directory.
by do-not-reply@jboss.org
Author: trong.tran
Date: 2010-09-10 14:24:41 -0400 (Fri, 10 Sep 2010)
New Revision: 4147
Modified:
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
Log:
Update request URK used in javascript in client after changing of navigation by ajax
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java 2010-09-10 12:07:31 UTC (rev 4146)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java 2010-09-10 18:24:41 UTC (rev 4147)
@@ -53,12 +53,11 @@
import org.exoplatform.webui.core.UIApplication;
import org.exoplatform.webui.core.UIComponent;
import org.exoplatform.webui.core.UIContainer;
-import org.exoplatform.webui.core.UIPopupMessages;
import org.exoplatform.webui.core.UITabPane;
import org.exoplatform.webui.core.UIWizard;
import org.exoplatform.webui.event.Event;
-import org.exoplatform.webui.event.EventListener;
import org.exoplatform.webui.event.Event.Phase;
+import org.exoplatform.webui.event.EventListener;
import java.util.List;
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2010-09-10 12:07:31 UTC (rev 4146)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2010-09-10 18:24:41 UTC (rev 4147)
@@ -579,6 +579,11 @@
pcontext.setTargetNav(targetNav);
pcontext.setTargetNode(targetNode);
+ StringBuilder baseUriInJS = new StringBuilder("eXo.env.server.portalBaseURL=\"");
+ baseUriInJS.append(pcontext.getRequestURI()).append("\";");
+
+ pcontext.getJavascriptManager().addCustomizedOnLoadScript(baseUriInJS.toString());
+
Event<UIComponent> changeNodeEvent = createEvent(PageNodeEvent.CHANGE_NODE, Event.Phase.PROCESS, pcontext);
changeNodeEvent.broadcast();
}
15 years, 7 months
gatein SVN: r4146 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest.
by do-not-reply@jboss.org
Author: vuthelinh
Date: 2010-09-10 08:07:31 -0400 (Fri, 10 Sep 2010)
New Revision: 4146
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_42_ChangeContainerWhenEditLayoutForGroupPage.html
Log:
Update to run Safari browser
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_42_ChangeContainerWhenEditLayoutForGroupPage.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_42_ChangeContainerWhenEditLayoutForGroupPage.html 2010-09-10 12:00:21 UTC (rev 4145)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_42_ChangeContainerWhenEditLayoutForGroupPage.html 2010-09-10 12:07:31 UTC (rev 4146)
@@ -392,18 +392,23 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Group</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAndWait</td>
<td>link=Group</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>Edit Navigation</td>
+ <td>//div[@id='UIGroupNavigationGrid']/table[2]/tbody/tr/td[3]/a[1]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>Edit Navigation</td>
+ <td>//div[@id='UIGroupNavigationGrid']/table[2]/tbody/tr/td[3]/a[1]</td>
<td></td>
</tr>
<tr>
15 years, 7 months
gatein SVN: r4145 - in portal/branches/navcontroller: web/portal/src/main/webapp/groovy/webui/core and 3 other directories.
by do-not-reply@jboss.org
Author: trong.tran
Date: 2010-09-10 08:00:21 -0400 (Fri, 10 Sep 2010)
New Revision: 4145
Modified:
portal/branches/navcontroller/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl
portal/branches/navcontroller/web/portal/src/main/webapp/groovy/webui/core/UISitemapTree.gtmpl
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplicationLifecycle.java
Log:
Change/Improve PortalURL to generate the same URI in both ajax and non ajax url
Modified: portal/branches/navcontroller/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl
===================================================================
--- portal/branches/navcontroller/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl 2010-09-10 12:00:21 UTC (rev 4145)
@@ -79,10 +79,8 @@
label = entityEncoder.encode(label);
nodeURL.setResource(node);
- String nonAjaxURL = nodeURL.setParameters(null).setAjax(false).toString();
- if(uicomponent.isUseAjax()){
- nodeURL.setParameters(new Parameter(PortalRequestContext.TARGET_NODE, node.getUri()));
- }
+ String nonAjaxURL = nodeURL.setAjax(false).toString();
+ String ajaxURL = nodeURL.setAjax(true).toString();
String pageURI = Util.getPortalRequestContext().getPortalURI() + node.getUri();
if(node.pageReference != null) {
@@ -93,7 +91,7 @@
<div class="ItemIcon $icon">
""";
if(uicomponent.isUseAjax()) {
- print "<a href=\"" + nonAjaxURL + "\" onclick=\"" + nodeURL.setAjax(true).toString() + "; return false;\">$label</a>";
+ print "<a href=\"" + nonAjaxURL + "\" onclick=\"" + ajaxURL + "; return false;\">$label</a>";
} else {
print "<a href=\"" + nonAjaxURL + "\">$label</a>"
}
@@ -166,12 +164,12 @@
label=entityEncoder.encode(label);
if(node.pageReference != null) {
nodeURL.setResource(node);
- String nonAjaxURL = nodeURL.setParameters(null).setAjax(false).toString();
+ String nonAjaxURL = nodeURL.setAjax(false).toString();
+ String ajaxURL = nodeURL.setAjax(true).toString();
if(uicomponent.isUseAjax()) {
- nodeURL.setParameters(new Parameter(PortalRequestContext.TARGET_NODE, node.getUri()));
%>
- <a class="TabLabel ${iconType}" onclick="<%=nodeURL.setAjax(true).toString()%>; return false;" href="$nonAjaxURL">$label</a>
+ <a class="TabLabel ${iconType}" onclick="$ajaxURL; return false;" href="$nonAjaxURL">$label</a>
<%
} else {
%>
Modified: portal/branches/navcontroller/web/portal/src/main/webapp/groovy/webui/core/UISitemapTree.gtmpl
===================================================================
--- portal/branches/navcontroller/web/portal/src/main/webapp/groovy/webui/core/UISitemapTree.gtmpl 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/web/portal/src/main/webapp/groovy/webui/core/UISitemapTree.gtmpl 2010-09-10 12:00:21 UTC (rev 4145)
@@ -20,6 +20,7 @@
def actionCollapseAll = uicomponent.event("CollapseAllNode");
ResourceURL nodeURL = pcontext.createURL(org.exoplatform.portal.url.navigation.NavigationLocator.TYPE);
+ nodeURL.setAjax(true);
public void renderNodes(TreeNode rootTree, ResourceURL nodeURL, boolean useAjax) {
List childrenNodes=rootTree.getChildren();
@@ -36,13 +37,7 @@
actionExpand = uicomponent.event("ExpandNode", nav.getId() + "::" + node.getUri());
def actionCollapse = "ajaxAsyncGetRequest('" + uicomponent.url("CollapseNode",nav.getId() + "::" + node.getUri()) + "', true)";
- if(useAjax){
- nodeURL.setAjax(true);
- nodeURL.setParameters(new Parameter(PortalRequestContext.TARGET_NODE, node.getUri()));
- } else {
- nodeURL.setResource(node);
- }
- actionLink = nodeURL.toString();
+ String actionLink = nodeURL.setResource(node).toString();
lastNode = '';
@@ -58,7 +53,7 @@
<div class="CollapseIcon ClearFix" onclick="eXo.portal.UIPortal.collapseExpand(this);$actionCollapse">
""";
if(treeNode.getNode().getPageReference() == null) println "<a class='NodeIcon DefaultPageIcon' href='javascript:void(0);'>$label</a>";
- else println "<a class='NodeIcon DefaultPageIcon' href='$actionLink'>$label</a>";
+ else println "<a class='NodeIcon DefaultPageIcon' href=\"$actionLink\">$label</a>";
println """
</div>
<div class="ChildrenContainer" style="display: block">
@@ -72,7 +67,7 @@
<div class="ExpandIcon ClearFix" onclick="if(eXo.portal.UIPortal.collapseExpand(this)){$actionExpand}">
""";
if(treeNode.getNode().getPageReference() == null) println "<a class='NodeIcon DefaultPageIcon' href='javascript:void(0);'>$label</a>";
- else println "<a class='NodeIcon DefaultPageIcon' href='$actionLink'>$label</a>";
+ else println "<a class='NodeIcon DefaultPageIcon' href=\"$actionLink\">$label</a>";
println """
</div>
<div class="ChildrenContainer" style="display: none">
@@ -100,7 +95,7 @@
}
}
- }
+ }
%>
<div id="UISiteMap" class="UISitemap" >
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2010-09-10 12:00:21 UTC (rev 4145)
@@ -86,7 +86,7 @@
final static public String UI_COMPONENT_ACTION = "portal:action";
final static public String UI_COMPONENT_ID = "portal:componentId";
-
+
final static public String TARGET_NODE = "portal:targetNode";
final static public String CACHE_LEVEL = "portal:cacheLevel";
@@ -124,11 +124,11 @@
private final PortalURLBuilder urlBuilder;
private Map<String, String[]> parameterMap;
-
+
private Locale locale = Locale.ENGLISH;
private PageNavigation targetNav;
-
+
private PageNode targetNode_;
/** . */
@@ -233,7 +233,7 @@
@Override
public <R, L extends ResourceLocator<R>> ResourceURL<R, L> newURL(ResourceType<R, L> resourceType, L locator)
{
- return new PortalURL<R,L>(this, locator, false);
+ return new PortalURL<R, L>(this, locator, false);
}
public void refreshResourceBundle() throws Exception
@@ -282,52 +282,6 @@
return locatorFactory;
}
- /**
- *
- *
- * Process current Portal Request URI. if current require uri is not equal to last one then
- * an event of type UIPortalApplication.CHANGE_NODE will be retuned, otherwise it returns <code>null</code>
- *
- * @return
- * @throws Exception
- */
- public Event<UIComponent> lookChangeNodeEvent() throws Exception
- {
- UIPortalApplication uiPortalApp = (UIPortalApplication)uiApplication_;
- List<PageNavigation> navigations = uiPortalApp.getNavigations();
-
- String lastNodePath = uiPortalApp.getLastNodePath();
- String nodePath;
- // Do not need to process if the request uri is not changed from last one
- // Or look if this is a change node event in Ajax
- if(nodePath_.equals(lastNodePath))
- {
- nodePath = request_.getParameter(PortalRequestContext.TARGET_NODE);
- if (nodePath == null)
- {
- return null;
- }
- }
- else
- {
- uiPortalApp.setLastNodePath(nodePath_);
- nodePath = nodePath_;
- }
-
- Object[] targets = Util.findBestMatchNavigationAndNode(navigations, nodePath);
- if(targets == null)
- {
- targetNav = navigations.get(0);
- targetNode_ = Util.findFirstAvailableNode(targetNav, this);
- }
- else
- {
- targetNav = (PageNavigation)targets[0];
- targetNode_ = (PageNode)targets[1];
- }
- return uiPortalApp.createEvent(PageNodeEvent.CHANGE_NODE, Event.Phase.PROCESS, this);
- }
-
public Orientation getOrientation()
{
return ((UIPortalApplication)uiApplication_).getOrientation();
@@ -442,11 +396,11 @@
return targetNode_;
}
- public void setTargetNode(PageNode naviNode)
+ public void setTargetNode(PageNode targetNode)
{
- targetNode_ = naviNode;
+ targetNode_ = targetNode;
}
-
+
public URLBuilder<UIComponent> getURLBuilder()
{
return urlBuilder;
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java 2010-09-10 12:00:21 UTC (rev 4145)
@@ -108,12 +108,6 @@
if (uiApp != null)
{
uiApp.processDecode(context);
-
- Event<UIComponent> changeNodeEvent = context.lookChangeNodeEvent();
- if(changeNodeEvent != null)
- {
- changeNodeEvent.broadcast();
- }
}
if (!context.isResponseComplete() && !context.getProcessRender())
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-10 12:00:21 UTC (rev 4145)
@@ -82,32 +82,25 @@
//
StringBuilder url = new StringBuilder();
- if (ajax)
+ if (locator.getResource() == null)
{
- url.append(requestContext.getRequestURI());
+ throw new IllegalStateException("No resource set of the portal URL");
}
- else
+
+ //
+ url.append(requestContext.getPortalURI());
+
+ //
+ try
{
- if (locator.getResource() == null)
- {
- throw new IllegalStateException("No resource set of the portal URL");
- }
-
- //
- url.append(requestContext.getPortalURI());
-
- //
- try
- {
- locator.append(url);
- }
- catch (IOException e)
- {
- AssertionError ae = new AssertionError();
- ae.initCause(e);
- throw ae;
- }
+ locator.append(url);
}
+ catch (IOException e)
+ {
+ AssertionError ae = new AssertionError();
+ ae.initCause(e);
+ throw ae;
+ }
if (ajax || params != null)
{
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2010-09-10 12:00:21 UTC (rev 4145)
@@ -19,21 +19,18 @@
package org.exoplatform.portal.webui.workspace;
-import org.exoplatform.container.ExoContainer;
import org.exoplatform.portal.Constants;
import org.exoplatform.portal.application.PortalRequestContext;
import org.exoplatform.portal.config.DataStorage;
-import org.exoplatform.portal.config.NoSuchDataException;
import org.exoplatform.portal.config.UserPortalConfig;
-import org.exoplatform.portal.config.UserPortalConfigService;
import org.exoplatform.portal.config.model.Container;
-import org.exoplatform.portal.config.model.Page;
import org.exoplatform.portal.config.model.PageNavigation;
import org.exoplatform.portal.config.model.PageNode;
import org.exoplatform.portal.resource.Skin;
import org.exoplatform.portal.resource.SkinConfig;
import org.exoplatform.portal.resource.SkinService;
import org.exoplatform.portal.resource.SkinURL;
+import org.exoplatform.portal.url.navigation.NavigationLocator;
import org.exoplatform.portal.webui.application.UIPortlet;
import org.exoplatform.portal.webui.navigation.PageNavigationUtils;
import org.exoplatform.portal.webui.page.UIPageActionListener.ChangeNodeActionListener;
@@ -51,6 +48,7 @@
import org.exoplatform.services.resources.Orientation;
import org.exoplatform.services.resources.ResourceBundleManager;
import org.exoplatform.web.application.javascript.JavascriptConfigService;
+import org.exoplatform.web.url.ResourceURL;
import org.exoplatform.webui.application.WebuiRequestContext;
import org.exoplatform.webui.config.annotation.ComponentConfig;
import org.exoplatform.webui.config.annotation.EventConfig;
@@ -59,7 +57,6 @@
import org.exoplatform.webui.core.UIComponentDecorator;
import org.exoplatform.webui.core.UIContainer;
import org.exoplatform.webui.event.Event;
-import org.exoplatform.webui.event.Event.Phase;
import java.io.Writer;
import java.util.ArrayList;
@@ -120,6 +117,10 @@
private UIPortal showedUIPortal;
+ private boolean isAjaxInLastRequest;
+
+ private String lastNonAjaxUri;
+
/**
* The constructor of this class is used to build the tree of UI components
* that will be aggregated in the portal page.<br/>
@@ -507,24 +508,90 @@
uiContainer.setStorageId(container.getStorageId());
PortalDataMapper.toUIContainer(uiContainer, container);
UISiteBody uiSiteBody = uiContainer.findFirstComponentOfType(UISiteBody.class);
- //uiSiteBody.setUIComponent(uiPortal);
uiSiteBody.setUIComponent(this.showedUIPortal);
uiContainer.setRendered(true);
uiViewWS.setUIComponent(uiContainer);
}
else
{
- //uiViewWS.setUIComponent(uiPortal);
uiViewWS.setUIComponent(this.showedUIPortal);
}
- // uiWorkingWorkspace.addChild(UIPortalToolPanel.class, null,
- // null).setRendered(false);
- // editInlineWS.addChild(UIPortalToolPanel.class, null,
- // null).setRendered(false);
addChild(UIMaskWorkspace.class, UIPortalApplication.UI_MASK_WS_ID, null);
}
/**
+ * The processDecode() method is doing 3 actions: <br/>
+ * 1) if this is a non ajax request and the last is an ajax one,
+ * then we check if the requested nodePath is equal to last non ajax nodePath and
+ * is not equal to the last nodePath, the server performs a 302 redirect on the last nodePath.<br/>
+ * 2) if the nodePath exist but is equals to the current one
+ * then we also call super and stops here.<br/>
+ * 3) if the requested nodePath is not equals to the current one or current
+ * page no longer exists, then an event of type PageNodeEvent.CHANGE_NODE
+ * is sent to the associated EventListener; a call to super is then done.
+ */
+ @Override
+ public void processDecode(WebuiRequestContext context) throws Exception
+ {
+ PortalRequestContext pcontext = (PortalRequestContext)context;
+ String nodePath = pcontext.getNodePath();
+ boolean isAjax = pcontext.useAjax();
+
+ if (!isAjax)
+ {
+ if (isAjaxInLastRequest)
+ {
+ isAjaxInLastRequest = false;
+ if (nodePath.equals(lastNonAjaxUri) && !nodePath.equals(lastNodePath))
+ {
+ ResourceURL<PageNode, NavigationLocator> nodeURL =
+ pcontext.createURL(org.exoplatform.portal.url.navigation.NavigationLocator.TYPE);
+ nodeURL.setResource(getShowedUIPortal().getSelectedNode());
+ pcontext.sendRedirect(nodeURL.toString());
+ return;
+ }
+ }
+ lastNonAjaxUri = nodePath;
+ }
+
+ isAjaxInLastRequest = isAjax;
+
+ if (!nodePath.equals(lastNodePath))
+ {
+ lastNodePath = nodePath;
+
+ List<PageNavigation> navigations = getNavigations();
+
+ Object[] targets = Util.findBestMatchNavigationAndNode(navigations, nodePath);
+ PageNavigation targetNav;
+ PageNode targetNode;
+ if (targets == null)
+ {
+ targetNav = navigations.get(0);
+ targetNode = Util.findFirstAvailableNode(targetNav, pcontext);
+ }
+ else
+ {
+ targetNav = (PageNavigation)targets[0];
+ targetNode = (PageNode)targets[1];
+ }
+
+ pcontext.setTargetNav(targetNav);
+ pcontext.setTargetNode(targetNode);
+
+ Event<UIComponent> changeNodeEvent = createEvent(PageNodeEvent.CHANGE_NODE, Event.Phase.PROCESS, pcontext);
+ changeNodeEvent.broadcast();
+ }
+
+ if (!isAjax)
+ {
+ lastNonAjaxUri = nodePath;
+ }
+
+ super.processDecode(pcontext);
+ }
+
+ /**
* The processrender() method handles the creation of the returned HTML
* either for a full page render or in the case of an AJAX call The first
* request, Ajax is not enabled (means no ajaxRequest parameter in the
@@ -681,31 +748,6 @@
{
this.userPortalConfig_ = userPortalConfig;
}
-
- private boolean isPageExist() throws Exception
- {
- WebuiRequestContext context = Util.getPortalRequestContext();
- ExoContainer appContainer = context.getApplication().getApplicationServiceContainer();
- UserPortalConfigService userPortalConfigService =
- (UserPortalConfigService)appContainer.getComponentInstanceOfType(UserPortalConfigService.class);
- Page page = null;
- PageNode pageNode = Util.getUIPortal().getSelectedNode();
- if (pageNode != null)
- {
- try
- {
- if (pageNode.getPageReference() != null)
- {
- page = userPortalConfigService.getPage(pageNode.getPageReference(), context.getRemoteUser());
- }
- }
- catch (NoSuchDataException nsde)
- {
- return false;
- }
- }
- return (page != null);
- }
public void localizeNavigations()
{
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplicationLifecycle.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplicationLifecycle.java 2010-09-10 09:17:55 UTC (rev 4144)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplicationLifecycle.java 2010-09-10 12:00:21 UTC (rev 4145)
@@ -46,8 +46,13 @@
if (uiTarget == null)
return;
if (uiTarget == uicomponent)
- super.processDecode(uicomponent, context);
- uiTarget.processDecode(context);
+ {
+ super.processDecode(uicomponent, context);
+ }
+ else
+ {
+ uiTarget.processDecode(context);
+ }
}
/**
15 years, 7 months
gatein SVN: r4144 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium.
by do-not-reply@jboss.org
Author: hangnguyen
Date: 2010-09-10 05:17:55 -0400 (Fri, 10 Sep 2010)
New Revision: 4144
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_007_CreateNewNodeInTheFirstLevelWhenDoRightClick.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_016_CreateNewNodeWithNameIsTheSameWithExistingOneInTheSameLevel.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_032_CreateNewNodeWithPageNameTheSameWithExisting.html
Log:
TestVN-356:Clean and Improve existing Selenium for GateIn
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_007_CreateNewNodeInTheFirstLevelWhenDoRightClick.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_007_CreateNewNodeInTheFirstLevelWhenDoRightClick.html 2010-09-10 08:56:52 UTC (rev 4143)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_007_CreateNewNodeInTheFirstLevelWhenDoRightClick.html 2010-09-10 09:17:55 UTC (rev 4144)
@@ -237,7 +237,12 @@
<td></td>
</tr>
<tr>
- <td>waitForConfirmation</td>
+ <td>waitForConfirmationPresent</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertConfirmation</td>
<td>Are you sure you want to delete this node?</td>
<td></td>
</tr>
@@ -257,6 +262,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAndWait</td>
<td>link=Sign out</td>
<td></td>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_016_CreateNewNodeWithNameIsTheSameWithExistingOneInTheSameLevel.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_016_CreateNewNodeWithNameIsTheSameWithExistingOneInTheSameLevel.html 2010-09-10 08:56:52 UTC (rev 4143)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_016_CreateNewNodeWithNameIsTheSameWithExistingOneInTheSameLevel.html 2010-09-10 09:17:55 UTC (rev 4144)
@@ -72,13 +72,18 @@
<td>Test_POR_14_01_016</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-- Choose Page Selector --</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'UIPageSelector2');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=UIPageSelector2')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'UIPageSelector2');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=UIPageSelector2')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div</td>
<td></td>
</tr>
<tr>
@@ -102,17 +107,32 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-- Choose Icon tab --</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'Icon');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=Icon')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'Icon');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=Icon')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
+ <td>//form[@id='UIPageNodeForm']/div[3]/div[1]/div[3]/div/div/div[2]/div[2]/div/a[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//form[@id='UIPageNodeForm']/div[3]/div[1]/div[3]/div/div/div[2]/div[2]/div/a[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
<td>link=Save</td>
<td></td>
</tr>
@@ -142,6 +162,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Edit Navigation</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Edit Navigation</td>
<td></td>
@@ -172,13 +197,18 @@
<td>Test_POR_14_01_016</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-- Choose Page Selector --</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'UIPageSelector2');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=UIPageSelector2')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'UIPageSelector2');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=UIPageSelector2')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div</td>
<td></td>
</tr>
<tr>
@@ -202,17 +232,32 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-- Choose Icon tab --</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'Icon');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=Icon')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPageNodeForm', 'Icon');javascript:eXo.webui.UIForm.submitEvent('fcabb348-1fd7-4124-9a87-df30b8455fc4#UIPageNodeForm','SelectTab','&objectId=Icon')"]</td>
+ <td>//div[2]/div/div/div/div/div/div[1]/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
+ <td>//form[@id='UIPageNodeForm']/div[3]/div[1]/div[3]/div/div/div[2]/div[2]/div/a[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//form[@id='UIPageNodeForm']/div[3]/div[1]/div[3]/div/div/div[2]/div[2]/div/a[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
<td>link=Save</td>
<td></td>
</tr>
@@ -222,6 +267,16 @@
<td></td>
</tr>
<tr>
+ <td>waitForTextPresent</td>
+ <td>This node name already exists.</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>This node name already exists.</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>//div[4]/div/div/div[1]/div/div/div/div/div/div/div/div[2]/div/div[2]/div/div/div/div/div/div[3]/div/table/tbody/tr/td/div/div/div/div/a</td>
<td></td>
@@ -282,12 +337,32 @@
<td></td>
</tr>
<tr>
- <td>componentExoContextMenu</td>
- <td>//a[@class='NodeIcon DefaultPageIcon' and @title='Test_POR_14_01_016']</td>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
<td></td>
</tr>
<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon AcrobatFile NodeSelected' and @title='Test_POR_14_01_016']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon AcrobatFile NodeSelected' and @title='Test_POR_14_01_016']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
<td>link=Delete Node</td>
<td></td>
</tr>
@@ -297,16 +372,31 @@
<td></td>
</tr>
<tr>
+ <td>waitForConfirmationPresent</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
<td>assertConfirmation</td>
<td>Are you sure you want to delete this node?</td>
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Save</td>
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAndWait</td>
<td>link=Sign out</td>
<td></td>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_032_CreateNewNodeWithPageNameTheSameWithExisting.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_032_CreateNewNodeWithPageNameTheSameWithExisting.html 2010-09-10 08:56:52 UTC (rev 4143)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_032_CreateNewNodeWithPageNameTheSameWithExisting.html 2010-09-10 09:17:55 UTC (rev 4144)
@@ -217,6 +217,16 @@
<td></td>
</tr>
<tr>
+ <td>waitForTextPresent</td>
+ <td>This page name already exists.</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>This page name already exists.</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>//div[4]/div/div[2]/div/div/div/div/div/div[3]/div/table/tbody/tr/td/div/div/div/div</td>
<td></td>
@@ -242,7 +252,7 @@
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
+ <td>click</td>
<td>link=POR_14_01_032</td>
<td></td>
</tr>
@@ -262,6 +272,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForConfirmationPresent</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
<td>assertConfirmation</td>
<td>Are you sure you want to delete this node?</td>
<td></td>
15 years, 7 months
gatein SVN: r4143 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium.
by do-not-reply@jboss.org
Author: hangnguyen
Date: 2010-09-10 04:56:52 -0400 (Fri, 10 Sep 2010)
New Revision: 4143
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_006_CreateNewNodeInTheFirstLevel.html
Log:
TestVN-356:Clean and Improve existing Selenium for GateIn
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_006_CreateNewNodeInTheFirstLevel.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_006_CreateNewNodeInTheFirstLevel.html 2010-09-10 08:48:25 UTC (rev 4142)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_POR_14_01_006_CreateNewNodeInTheFirstLevel.html 2010-09-10 08:56:52 UTC (rev 4143)
@@ -17,7 +17,17 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>echo</td>
+ <td>-- Create New Node In The First Level --</td>
+ <td></td>
+</tr>
+<tr>
+ <td>windowMaximize</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
<td>link=Sign in</td>
<td></td>
</tr>
@@ -37,7 +47,7 @@
<td>gtn</td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>clickAndWait</td>
<td>xpath=//div[@id='UIPortalLoginFormAction']/div/div/div/a</td>
<td></td>
</tr>
@@ -47,7 +57,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Site</td>
<td></td>
</tr>
@@ -57,7 +67,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Edit Navigation</td>
<td></td>
</tr>
@@ -67,7 +77,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Add Node</td>
<td></td>
</tr>
@@ -92,19 +102,24 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>waitForElementPresent</td>
<td>xpath=//div[@class='CenterHorizontalTabs']//div[@class='NormalTab']//div[@class='MiddleTab']</td>
<td></td>
</tr>
<tr>
+ <td>click</td>
+ <td>xpath=//div[@class='CenterHorizontalTabs']//div[@class='NormalTab']//div[@class='MiddleTab']</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Search and Select Page</td>
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Search and Select Page</td>
- <td>1,1</td>
+ <td></td>
</tr>
<tr>
<td>echo</td>
@@ -127,9 +142,9 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Save</td>
- <td>1,1</td>
+ <td></td>
</tr>
<tr>
<td>waitForTextNotPresent</td>
@@ -142,9 +157,9 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Save</td>
- <td>1,1</td>
+ <td></td>
</tr>
<tr>
<td>waitForTextNotPresent</td>
@@ -157,7 +172,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=POR_14_01_006</td>
<td></td>
</tr>
@@ -172,7 +187,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Site</td>
<td></td>
</tr>
@@ -182,27 +197,47 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Edit Navigation</td>
<td></td>
</tr>
<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
- <td>xpath=//a[@title='POR_14_01_006']</td>
+ <td>xpath=//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='POR_14_01_006']</td>
<td></td>
</tr>
<tr>
- <td>componentExoContextMenu</td>
- <td>xpath=//a[@title='POR_14_01_006']</td>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='POR_14_01_006']</td>
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>waitForElementPresent</td>
<td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon DeleteNode16x16Icon']</td>
<td></td>
</tr>
<tr>
- <td>waitForConfirmation</td>
+ <td>click</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon DeleteNode16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForConfirmationPresent</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertConfirmation</td>
<td>Are you sure you want to delete this node?</td>
<td></td>
</tr>
@@ -212,7 +247,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>link=Save</td>
<td></td>
</tr>
@@ -232,7 +267,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>clickAndWait</td>
<td>link=Sign out</td>
<td></td>
</tr>
15 years, 7 months
gatein SVN: r4142 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest.
by do-not-reply@jboss.org
Author: vuthelinh
Date: 2010-09-10 04:48:25 -0400 (Fri, 10 Sep 2010)
New Revision: 4142
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_05_RecoverUserNameOrPassword.html
Log:
Update : get Pass for gmail
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_05_RecoverUserNameOrPassword.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_05_RecoverUserNameOrPassword.html 2010-09-10 08:47:18 UTC (rev 4141)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/NewSnifftest/Test_SNF_PRL_05_RecoverUserNameOrPassword.html 2010-09-10 08:48:25 UTC (rev 4142)
@@ -272,18 +272,18 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
- <td>//*[@id=":pg"]</td>
+ <td>mouseDown</td>
+ <td>//div/div[2]/div/div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div[5]/div/div/div/div/table/tbody/tr/td[5]/div/div/div/span</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//html/body/div/div[2]/div/div[2]/div/div[3]/div/div/div/div[2]/div/div/div/div/div[2]/div/div[2]/div/table/tr/td/div[2]/div[2]/div/div[2]/div/div/div/div/div[2]/div/div/div[2]/div[5]/div/a@href</td>
+ <td>//html/body/div/div[2]/div/div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div[2]/div/table/tr/td/div[2]/div[2]/div/div[2]/div/div/div/div/div[2]/div/div/div[2]/div[5]/div/a</td>
<td></td>
</tr>
<tr>
<td>storeAttribute</td>
- <td>//html/body/div/div[2]/div/div[2]/div/div[3]/div/div/div/div[2]/div/div/div/div/div[2]/div/div[2]/div/table/tr/td/div[2]/div[2]/div/div[2]/div/div/div/div/div[2]/div/div/div[2]/div[5]/div/a@href</td>
+ <td>//html/body/div/div[2]/div/div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div[2]/div/table/tr/td/div[2]/div[2]/div/div[2]/div/div/div/div/div[2]/div/div/div[2]/div[5]/div/a@href</td>
<td>resetPas</td>
</tr>
<tr>
@@ -292,7 +292,7 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>click</td>
<td>//html/body/div/div[2]/div/div/div/div[2]/div/div[4]/div/nobr/a[2]</td>
<td></td>
</tr>
15 years, 7 months