JBoss Portal SVN: r12502 - branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-01-14 10:38:36 -0500 (Wed, 14 Jan 2009)
New Revision: 12502
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageSecurity.xhtml
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageTheme.xhtml
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalSecurity.xhtml
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalTheme.xhtml
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowSecurity.xhtml
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowTheme.xhtml
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/renameObject.xhtml
Log:
- JBPORTAL-2106: unified headers...
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageSecurity.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageSecurity.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageSecurity.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -6,7 +6,8 @@
<ui:composition template="objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="#{bundle.SECURITY}"/>
<ui:define name="content">
- <h3>#{bundle.SET_PAGE_PERMISSIONS}</h3>
+ <br/>
+ <p class="portlet-area-header">#{bundle.SET_PAGE_PERMISSIONS}</p>
<ui:decorate template="/jsf/common/editSecurity.xhtml">
<ui:param name="auth" value="#{portalobjectmgr.auth}"/>
</ui:decorate>
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageTheme.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageTheme.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPageTheme.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -6,7 +6,8 @@
<ui:composition template="objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="#{bundle.THEME}"/>
<ui:define name="content">
- <h3>#{bundle.PAGE_THEME_PROPERTIES}</h3>
+ <br/>
+ <p class="portlet-area-header">#{bundle.PAGE_THEME_PROPERTIES}</p>
<ui:decorate template="common/editTheme.xhtml">
<ui:param name="theme" value="#{portalobjectmgr.theme}"/>
<ui:define name="form_submit">
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalSecurity.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalSecurity.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalSecurity.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -6,7 +6,8 @@
<ui:composition template="objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="#{bundle.SECURITY}"/>
<ui:define name="content">
- <h3>#{bundle.SET_PORTAL_PERMISSIONS}</h3>
+ <br/>
+ <p class="portlet-area-header">#{bundle.SET_PORTAL_PERMISSIONS}</p>
<ui:decorate template="/jsf/common/editSecurity.xhtml">
<ui:param name="auth" value="#{portalobjectmgr.auth}"/>
</ui:decorate>
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalTheme.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalTheme.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editPortalTheme.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -6,7 +6,8 @@
<ui:composition template="objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="#{bundle.THEME}"/>
<ui:define name="content">
- <h3>#{bundle.PORTAL_THEME_PROPERTIES}</h3>
+ <br/>
+ <p class="portlet-area-header">#{bundle.PORTAL_THEME_PROPERTIES}</p>
<p>#{bundle.SETTINGS_ARE_INHERITED_BY_ALL_PAGES}.</p>
<br/>
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowSecurity.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowSecurity.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowSecurity.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -6,8 +6,9 @@
<ui:composition template="objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="#{bundle.SECURITY}"/>
<ui:define name="content">
- <h3>#{bundle.SET_PERMISSIONS_FOR} <span class="objectName">#{portalobjectmgr.selectedObject.name}</span>
- #{bundle.WINDOW_NO_CAP}</h3>
+ <br/>
+ <p class="portlet-area-header">#{bundle.SET_PERMISSIONS_FOR} <span class="objectName">#{portalobjectmgr.selectedObject.name}</span>
+ #{bundle.WINDOW_NO_CAP}</p>
<ui:include src="common/editSecurity.xhtml"/>
</ui:define>
</ui:composition>
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowTheme.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowTheme.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editWindowTheme.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -6,7 +6,8 @@
<ui:composition template="objectTemplate.xhtml">
<ui:param name="portalObjectScreen" value="#{bundle.THEME}"/>
<ui:define name="content">
- <h3>#{bundle.WINDOW_THEME_PROPERTIES}</h3>
+ <br/>
+ <p class="portlet-area-header">#{bundle.WINDOW_THEME_PROPERTIES}</p>
<ui:decorate template="common/editWindowTheme.xhtml">
<ui:param name="theme" value="#{portalobjectmgr.theme}"/>
<ui:define name="form_submit">
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/renameObject.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/renameObject.xhtml 2009-01-14 15:11:19 UTC (rev 12501)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/renameObject.xhtml 2009-01-14 15:38:36 UTC (rev 12502)
@@ -16,7 +16,7 @@
<h:inputText id="newName" value="#{renameAction.newName}"/>
<h:commandButton id="rename" value="#{bundle.RENAME}" action="#{renameAction.execute}"
styleClass="portlet-form-button portlet-section-buttonrow"/>
- <h:commandButton id="cancel" value="#{bundle.CANCEL}" action="objects"
+ <h:commandButton id="cancel" value="#{bundle.COMMON_CANCEL}" action="objects"
styleClass="portlet-form-button portlet-section-buttonrow"/>
</p>
</h:form>
17 years, 3 months
JBoss Portal SVN: r12501 - branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-01-14 10:11:19 -0500 (Wed, 14 Jan 2009)
New Revision: 12501
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp
Log:
- Restore previous behavior on buttons.
Modified: branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp 2009-01-14 14:42:34 UTC (rev 12500)
+++ branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp 2009-01-14 15:11:19 UTC (rev 12501)
@@ -28,8 +28,9 @@
<%
ResourceBundle rb = ResourceBundle.getBundle("Resource", request.getLocale());
// todo: use ParameterValidation.sanitize after 2.7.1
- String loginheight =
- ParameterSanitizer.sanitize(request.getParameter("loginheight"), ParameterSanitizer.CSS_DISTANCE, "300px");
+ String loginheight = request.getParameter("loginheight");
+ boolean paramPresent = loginheight != null;
+ loginheight = ParameterSanitizer.sanitize(loginheight, ParameterSanitizer.CSS_DISTANCE, "300px");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -92,16 +93,18 @@
target="_parent">
<div class="form-field">
<label for="j_username"><%= rb.getString("LOGIN_USERNAME") %></label>
- <input type="text" name="j_username" id="j_username" value=""/>
+ <input type="text" name="j_username" id="j_username" value=""/>
</div>
<div class="form-field">
<label for="j_password"><%= rb.getString("LOGIN_PASSWORD") %></label>
- <input type="password" name="j_password" id="j_password" value=""/>
- </div><br class="clear"/>
- <div class="button-container"><br class="clear"/>
- <input style="display:none" type="button" name="cancel" value="<%= rb.getString("LOGIN_CANCEL") %>" class="cancel-button" onclick="window.parent.hideContentModal('login-modal');"/>
+ <input type="password" name="j_password" id="j_password" value=""/>
+ </div>
+ <br class="clear"/>
+ <div class="button-container">
<br class="clear"/>
- <input style="right:10px" type="submit" name="login" value="<%= rb.getString("LOGIN_SUBMIT") %>" class="login-button"/>
+ <input style="<%=paramPresent ? "" : "display:none"%>;" type="button" name="cancel" value="<%= rb.getString("LOGIN_CANCEL") %>" class="cancel-button" onclick="window.parent.hideContentModal('login-modal');"/>
+ <br class="clear"/>
+ <input style="<%=paramPresent ? "" : "right:10px"%>;" type="submit" name="login" value="<%= rb.getString("LOGIN_SUBMIT") %>" class="login-button"/>
</div>
<br class="clear"/>
</form>
17 years, 3 months
JBoss Portal SVN: r12500 - branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal.
by portal-commits@lists.jboss.org
Author: vrockai
Date: 2009-01-14 09:42:34 -0500 (Wed, 14 Jan 2009)
New Revision: 12500
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java
Log:
portlet instances fix
Modified: branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java 2009-01-14 14:14:31 UTC (rev 12499)
+++ branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java 2009-01-14 14:42:34 UTC (rev 12500)
@@ -10,6 +10,8 @@
public class PortletInstancesTestCase extends JBossPortalSeleniumTestCase {
+ private static final String TAB_PORTLET_INSTANCES = "instancesTable2";
+ private static final String UL_PAGINATOR = "//ul[@class='pagination property-container']";
private static final String SUBMIT_SECURITY_UPDATE = "//input[contains(@id,'common-edit-security-form:update')]";
private static final String SUBMIT_SECURITY_CANCEL = "//input[contains(@id,'common-edit-security-form:cancel')]";
@@ -33,6 +35,7 @@
private static final String T_LINK_DELETENAME = "//a[contains(@id,''instance-display-form:locale-datatable:{0}:delete-link'')]";
private static final String T_LINK_MODIFYNAME = "//a[contains(@id,''instance-display-form:locale-datatable:{0}:edit-link'')]";
private static final String LINK_COUNTPORT = "//a[contains(@id,'instances-form:CurrentUsersPortletInstance')]";
+ private static final String NAME_COUNTPORT = "CurrentUsersPortletInstance";
private static final String SUBMIT_MODIFY_NAME = "//input[contains(@id,'add-display-name-form:addDisplay')]";
private static final String INPUT_NAME = "//input[contains(@id,'add-display-name-form:newName')]";
private static final String SELECT_LANGUAGE = "//select[contains(@id,'add-display-name-form:locales')]";
@@ -41,9 +44,13 @@
private static final String LINK_PI_MAIN = "//a[contains(@id,'instance-form1:instance-link')]";
private static final String TABLE_DISPNAMES = "//table[contains(@id,'instance-display-form:locale-datatable')]";
private static final String LNK_SEC_BUTTON = "//table[contains(@id,''instancesTable2'')]/tbody/tr[{0}]/td/table/tbody/tr/td/a[contains(@class,''Security'')]";
- //private static final String LNK_PREF_WELCOMEPORT = "//a[contains(@id,'security-JSPPortletInstance')]";
-
+ private static final String LNK_PREF_BUTTON = "//table[contains(@id,''instancesTable2'')]/tbody/tr[{0}]/td/table/tbody/tr/td/a[contains(@class,''actionPreferences'')]";
+ private static final String LNK_DEL_BUTTON = "//table[contains(@id,''instancesTable2'')]/tbody/tr[{0}]/td/table/tbody/tr/td/a[contains(@class,''actionDeleteInstance'')]";
+ private static final String LNK_INSTANCE_BUTTON = "//table[contains(@id,''instancesTable2'')]/tbody/tr[{0}]/td[1]/a[1]";
+ // private static final String LNK_PREF_WELCOMEPORT =
+ // "//a[contains(@id,'security-JSPPortletInstance')]";
+
@BeforeMethod(groups = { "log" })
public void loginBeforeTest() {
logoutIfPossible();
@@ -53,16 +60,16 @@
@AfterMethod(groups = { "log" })
public void logoutAfterTest() {
-
+
}
-
+
@Test(enabled = true)
public void testAddName() {
- //selenium.click(LINK_20_PAGE);
- //selenium.waitForPageToLoad(PAGE_LOAD);
- clickAndWait(LINK_COUNTPORT);
+ int r = traversePortlets(NAME_COUNTPORT,0);
+ clickAndWait(MessageFormat.format(LNK_INSTANCE_BUTTON, r));
safeSelect(SELECT_LANGUAGE, "Czech");
+
final String name = "Administracny";
selenium.type(INPUT_NAME, name);
clickAndWait(SUBMIT_MODIFY_NAME);
@@ -72,7 +79,9 @@
@Test(enabled = true)
public void testDeleteName() {
// adding the name
- selenium.click(LINK_COUNTPORT);
+ int r = traversePortlets(NAME_COUNTPORT,0);
+ clickAndWait(MessageFormat.format(LNK_INSTANCE_BUTTON, r));
+
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.select(SELECT_LANGUAGE, "label=Japanese");
final String name = "Aduminu";
@@ -82,7 +91,7 @@
// deleting name
- int r = findTableRow(TABLE_DISPNAMES, name, 1);
+ r = findTableRow(TABLE_DISPNAMES, name, 1);
selenium.click(MessageFormat.format(T_LINK_DELETENAME, r - 1));
selenium.waitForPageToLoad(PAGE_LOAD);
@@ -92,11 +101,9 @@
@Test(enabled = true)
public void testModifyName() {
- // adding the name
-// selenium.click(LINK_20_PAGE);
-// selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click(LINK_COUNTPORT);
- selenium.waitForPageToLoad(PAGE_LOAD);
+ int r = traversePortlets(NAME_COUNTPORT,0);
+ clickAndWait(MessageFormat.format(LNK_INSTANCE_BUTTON, r));
+
selenium.select(SELECT_LANGUAGE, "label=Japanese");
final String name = "Adminisimo";
final String nameNew = "Adminiprisimo";
@@ -107,7 +114,7 @@
// midifying name
- int r = findTableRow(TABLE_DISPNAMES, name, 1);
+ r = findTableRow(TABLE_DISPNAMES, name, 1);
selenium.click(MessageFormat.format(T_LINK_MODIFYNAME, r - 1));
selenium.waitForPageToLoad(PAGE_LOAD);
@@ -119,17 +126,20 @@
Assert.assertTrue(findTableRow(TABLE_DISPNAMES, nameNew, 1) >= 0);
}
+
+
@Test(enabled = true)
public void testSecure() {
String instance_name = "JSPPortletInstance";
- String table = "instancesTable2";
+ String table = TAB_PORTLET_INSTANCES;
+
+ // selenium.click(LINK_20_PAGE);
+ // selenium.waitForPageToLoad(PAGE_LOAD);
+
+ //int r = findTableRow(table, instance_name, 0);
+ int r = traversePortlets(instance_name,0);
+ selenium.click(MessageFormat.format(LNK_SEC_BUTTON, r));
- //selenium.click(LINK_20_PAGE);
- //selenium.waitForPageToLoad(PAGE_LOAD);
-
- int r = findTableRow(table, instance_name, 0);
-
- selenium.click(MessageFormat.format(LNK_SEC_BUTTON, r));
selenium.waitForPageToLoad("30000");
selenium.click("//input[contains(@name,'common-edit-security-form:cars_2')]");
selenium.click("//input[contains(@name,'common-edit-security-form:cars_1')]");
@@ -145,12 +155,14 @@
Assert.assertTrue(selenium.isTextPresent("Greetings !"));
// then cancel
-
+
goToPI();
-// selenium.click(LINK_20_PAGE);
-// selenium.waitForPageToLoad(PAGE_LOAD);
+ // selenium.click(LINK_20_PAGE);
+ // selenium.waitForPageToLoad(PAGE_LOAD);
- r = findTableRow(table, instance_name, 0);
+ //r = findTableRow(table, instance_name, 0);
+ r = traversePortlets(instance_name,0);
+
selenium.click(MessageFormat.format(LNK_SEC_BUTTON, r));
selenium.waitForPageToLoad("30000");
selenium.click("//input[contains(@name,'common-edit-security-form:cars_0')]");
@@ -166,10 +178,11 @@
// then really stop the greetings portlet
goToPI();
- //selenium.setSpeed("5000");
-// selenium.click(LINK_20_PAGE);
- // selenium.waitForPageToLoad(PAGE_LOAD);
- r = findTableRow(table, instance_name, 0);
+ // selenium.setSpeed("5000");
+ // selenium.click(LINK_20_PAGE);
+ // selenium.waitForPageToLoad(PAGE_LOAD);
+ //r = findTableRow(table, instance_name, 0);
+ r = traversePortlets(instance_name,0);
selenium.click(MessageFormat.format(LNK_SEC_BUTTON, r));
selenium.waitForPageToLoad("30000");
selenium.click("//input[contains(@name,'common-edit-security-form:cars_0')]");
@@ -188,35 +201,48 @@
@Test(enabled = true)
public void testDeleteInstance() {
// cancel first
- Assert.assertTrue(selenium.isElementPresent(LINK_DEL_EXCEPTPORT), "Exception portlet not found.");
- selenium.click(LINK_DEL_EXCEPTPORT);
- selenium.waitForPageToLoad(PAGE_LOAD);
+ String instance_name = "WeatherPortletInstance";
+ //selenium.setSpeed("5000");
+ int r = traversePortlets(instance_name,1);
+
+ Assert.assertTrue(selenium.isElementPresent(MessageFormat.format(LNK_INSTANCE_BUTTON, r)), instance_name+" portlet not found.");
+ clickAndWait(MessageFormat.format(LNK_DEL_BUTTON, r));
+
Assert.assertTrue(selenium.isTextPresent("WARNING!"));
Assert.assertTrue(selenium.isTextPresent("Are you sure you want to delete this portlet instance ?"));
selenium.click(SUBMIT_PI_DELETE_CANC);
selenium.waitForPageToLoad(PAGE_LOAD);
+
// delete
- goToPI();
- Assert.assertTrue(selenium.isElementPresent(LINK_DEL_EXCEPTPORT), "Exception portlet not found.");
- selenium.click(LINK_DEL_EXCEPTPORT);
- selenium.waitForPageToLoad(PAGE_LOAD);
+ goToPI();
+ r = traversePortlets(instance_name,1);
+ Assert.assertTrue(selenium.isElementPresent(MessageFormat.format(LNK_INSTANCE_BUTTON, r)), instance_name+" portlet not found.");
+ clickAndWait(MessageFormat.format(LNK_DEL_BUTTON, r));
+
Assert.assertTrue(selenium.isTextPresent("WARNING!"));
Assert.assertTrue(selenium.isTextPresent("Are you sure you want to delete this portlet instance ?"));
selenium.click(SUBMIT_PI_DELETE_CONF);
selenium.waitForPageToLoad(PAGE_LOAD);
- Assert.assertFalse(selenium.isElementPresent(LINK_DEL_EXCEPTPORT), "Exception portlet found after deletition.");
+
+ r = traversePortlets(instance_name,1);
+ Assert.assertFalse(selenium.isElementPresent(MessageFormat.format(LNK_INSTANCE_BUTTON, r)), "previously deleted "+instance_name+" portlet found.");
+
}
@Test(enabled = true)
public void testPreferences() {
- int r;
- // selenium.click(LINK_20_PAGE);
- // selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click(LINK_CURUSER_PREFERENCES);
+
+ int r = traversePortlets(NAME_COUNTPORT,0);
+ clickAndWait(MessageFormat.format(LNK_PREF_BUTTON, r));
+ //selenium.click(LINK_CURUSER_PREFERENCES);
+
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click(SUBMIT_PREF_CANCEL);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click(LINK_CURUSER_PREFERENCES);
+
+ r = traversePortlets(NAME_COUNTPORT,0);
+ clickAndWait(MessageFormat.format(LNK_PREF_BUTTON, r));
+
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(findTableRow(TABLE_PREF_KEY, "guestNumber", 0) >= 0);
selenium.click(LINK_PREF_GUESTNUM);
@@ -244,7 +270,43 @@
selenium.click(SUBMIT_PREF_SAVE);
selenium.waitForPageToLoad(PAGE_LOAD);
}
+
+ // acquiring link names from paginator
+ private String[] getPages(String paginator_location) {
+ String pagi = selenium.getText(paginator_location);
+ String[] pages = pagi.split(" ");
+
+ return pages;
+ }
+
+ /*
+ * function for traversing the portles in the portles table. when a string in
+ * selected columns is not found, links form paginator are used to look to the next page
+ */
+ private int traversePortlets(String instance_name,int row) {
+
+ int r = -1;
+
+ r = findTableRow(TAB_PORTLET_INSTANCES, instance_name, row);
+
+ if (r >= 0)
+ return r;
+
+ String pages[] = getPages(UL_PAGINATOR);
+ for (String page : pages) {
+ if ("".equals(page.trim()))
+ continue;
+ selenium.click("link=" + page);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ r = findTableRow(TAB_PORTLET_INSTANCES, instance_name, row);
+
+ if (r >= 0)
+ break;
+ }
+
+ return r;
+ }
private void goToPI() {
selenium.open(ADDR_PORTAL);
clickIfVisible(LINK_ADMIN);
17 years, 3 months
JBoss Portal SVN: r12499 - in modules/common/trunk/common/src: test/java/org/jboss/portal/test/common/util and 1 other directory.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-01-14 09:14:31 -0500 (Wed, 14 Jan 2009)
New Revision: 12499
Added:
modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java
Modified:
modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java
Log:
- Added sanitize method in ParameterValidation and related test case.
- Added CSS distance validation pattern for use in sanitize.
Modified: modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java
===================================================================
--- modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java 2009-01-14 14:13:21 UTC (rev 12498)
+++ modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java 2009-01-14 14:14:31 UTC (rev 12499)
@@ -22,6 +22,8 @@
******************************************************************************/
package org.jboss.portal.common.util;
+import java.util.regex.Pattern;
+
/**
* @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
* @version $Revision: 5757 $
@@ -29,6 +31,8 @@
*/
public class ParameterValidation
{
+ public final static Pattern CSS_DISTANCE = Pattern.compile("\\d+\\W*(em|ex|px|in|cm|mm|pt|pc|%)?");
+
public static void throwIllegalArgExceptionIfNullOrEmpty(String valueToCheck, String valueName, String contextName)
{
if (isNullOrEmpty(valueToCheck))
@@ -81,4 +85,27 @@
throw new IllegalArgumentException("Must pass a non-empty " + name);
}
}
+
+ /**
+ * Checks if a given value matches the given format (as a regular expression). If yes, returns it as is. Otherwise,
+ * returns the default value.
+ *
+ * @param value value to sanitize if needed, <code>null</code> is considered as not matching
+ * @param regex format the value needs to conform to
+ * @param defaultValue default value to use if the specified value does not conform to the specified format
+ * @return the specified value if it conforms to the expected format, the given default value otherwise.
+ */
+ public static String sanitize(String value, Pattern regex, String defaultValue)
+ {
+ throwIllegalArgExceptionIfNull(regex, "expected value format");
+
+ if (value == null || !regex.matcher(value).matches())
+ {
+ return defaultValue;
+ }
+ else
+ {
+ return value;
+ }
+ }
}
Added: modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java
===================================================================
--- modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java (rev 0)
+++ modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java 2009-01-14 14:14:31 UTC (rev 12499)
@@ -0,0 +1,83 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2009, 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.test.common.util;
+
+import junit.framework.TestCase;
+import org.jboss.portal.common.util.ParameterValidation;
+
+import java.util.regex.Pattern;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class ParameterValidationTestCase extends TestCase
+{
+ public void testNullPattern()
+ {
+ try
+ {
+ ParameterValidation.sanitize("foo", null, null);
+ fail("Should have thrown an IAE on null Pattern");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // expected
+ }
+ }
+
+ public void testNullValue()
+ {
+ String defaultValue = "default";
+ assertEquals(defaultValue, ParameterValidation.sanitize(null, Pattern.compile(""), defaultValue));
+ }
+
+ public void testNullDefault()
+ {
+ assertNull(ParameterValidation.sanitize(null, Pattern.compile(""), null));
+ }
+
+ public void testCSSDistance()
+ {
+ String defaultValue = "300px";
+ assertEquals(defaultValue,
+ ParameterValidation.sanitize("0%20;%20background-image:%20url(http://us.i1.yimg.com/us.yimg.com/i/us/we...",
+ ParameterValidation.CSS_DISTANCE, defaultValue));
+
+ assertEquals(defaultValue, ParameterValidation.sanitize(defaultValue, ParameterValidation.CSS_DISTANCE, null));
+
+ String value = "0";
+ assertEquals(value, ParameterValidation.sanitize(value, ParameterValidation.CSS_DISTANCE, null));
+
+ value = "10%";
+ assertEquals(value, ParameterValidation.sanitize(value, ParameterValidation.CSS_DISTANCE, null));
+
+ value = "10 %";
+ assertEquals(value, ParameterValidation.sanitize(value, ParameterValidation.CSS_DISTANCE, null));
+
+ value = "100 \n\tin";
+ assertEquals(value, ParameterValidation.sanitize(value, ParameterValidation.CSS_DISTANCE, null));
+
+ assertEquals(defaultValue, ParameterValidation.sanitize("", ParameterValidation.CSS_DISTANCE, defaultValue));
+ }
+}
17 years, 3 months
JBoss Portal SVN: r12498 - in branches/JBoss_Portal_Branch_2_7/core/src: resources/portal-server-war and 1 other directory.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-01-14 09:13:21 -0500 (Wed, 14 Jan 2009)
New Revision: 12498
Added:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/util/ParameterSanitizer.java
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp
Log:
- Fixed potential XSS issue.
Added: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/util/ParameterSanitizer.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/util/ParameterSanitizer.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/util/ParameterSanitizer.java 2009-01-14 14:13:21 UTC (rev 12498)
@@ -0,0 +1,52 @@
+/*
+* 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.core.util;
+
+import org.jboss.portal.common.util.ParameterValidation;
+
+import java.util.regex.Pattern;
+
+/**
+ * TODO
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ * @deprecated Should use {@link org.jboss.portal.common.util.ParameterValidation#sanitize} instead starting with 2.7.2
+ */
+public class ParameterSanitizer
+{
+ public final static Pattern CSS_DISTANCE = Pattern.compile("\\d+\\W*(em|ex|px|in|cm|mm|pt|pc|%)?");
+
+ public static String sanitize(String value, Pattern regex, String defaultValue)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(regex, "expected value format");
+
+ if(value == null || !regex.matcher(value).matches())
+ {
+ return defaultValue;
+ }
+ else
+ {
+ return value;
+ }
+ }
+}
Modified: branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp 2009-01-14 13:21:07 UTC (rev 12497)
+++ branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp 2009-01-14 14:13:21 UTC (rev 12498)
@@ -22,10 +22,14 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%>
<%@ page pageEncoding="utf-8" %>
<%@page import="org.jboss.portal.identity.UserStatus"%>
+<%@page import="org.jboss.portal.core.util.ParameterSanitizer"%>
<%@page import="java.util.ResourceBundle"%>
<%
ResourceBundle rb = ResourceBundle.getBundle("Resource", request.getLocale());
+ // todo: use ParameterValidation.sanitize after 2.7.1
+ String loginheight =
+ ParameterSanitizer.sanitize(request.getParameter("loginheight"), ParameterSanitizer.CSS_DISTANCE, "300px");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -39,7 +43,7 @@
margin: 0;
padding: 0;
border: 0;
- padding-top: <%=(request.getParameter("loginheight") != null ? request.getParameter("loginheight") : "300px")%>;
+ padding-top: <%=loginheight%>;
}
/* ]]> */
</style>
@@ -82,7 +86,7 @@
{
out.println(rb.getString("ACCOUNT_NOTASSIGNEDTOROLE"));
}
- %>
+ %>
</div>
<form method="post" action="<%= response.encodeURL("j_security_check") %>" name="loginform" id="loginForm"
target="_parent">
@@ -95,9 +99,9 @@
<input type="password" name="j_password" id="j_password" value=""/>
</div><br class="clear"/>
<div class="button-container"><br class="clear"/>
- <input style="<%=(request.getParameter("loginheight") != null ? "" : "display:none")%>;" type="button" name="cancel" value="<%= rb.getString("LOGIN_CANCEL") %>" class="cancel-button" onclick="window.parent.hideContentModal('login-modal');"/>
+ <input style="display:none" type="button" name="cancel" value="<%= rb.getString("LOGIN_CANCEL") %>" class="cancel-button" onclick="window.parent.hideContentModal('login-modal');"/>
<br class="clear"/>
- <input style="<%=(request.getParameter("loginheight") != null ? "" : "right:10px")%>;" type="submit" name="login" value="<%= rb.getString("LOGIN_SUBMIT") %>" class="login-button"/>
+ <input style="right:10px" type="submit" name="login" value="<%= rb.getString("LOGIN_SUBMIT") %>" class="login-button"/>
</div>
<br class="clear"/>
</form>
17 years, 3 months
JBoss Portal SVN: r12497 - modules/test/branches.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2009-01-14 08:21:07 -0500 (Wed, 14 Jan 2009)
New Revision: 12497
Added:
modules/test/branches/JBP_TEST_RELEASE_BRANCH_1_0_4/
Log:
Release branch for test module version 1.0.4
Copied: modules/test/branches/JBP_TEST_RELEASE_BRANCH_1_0_4 (from rev 12496, modules/test/branches/JBP_TEST_BRANCH_1_0)
17 years, 3 months