gatein SVN: r5927 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate.
by do-not-reply@jboss.org
Author: hangnguyen
Date: 2011-02-24 04:44:54 -0500 (Thu, 24 Feb 2011)
New Revision: 5927
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_002_SignInByAdminAccount.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_005_SignInByUnregisteredUserName.html
Log:
TESTVN-2644 - Daily tests on GateIn - Clean and improve scripts
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_002_SignInByAdminAccount.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_002_SignInByAdminAccount.html 2011-02-24 09:43:57 UTC (rev 5926)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_002_SignInByAdminAccount.html 2011-02-24 09:44:54 UTC (rev 5927)
@@ -61,12 +61,6 @@
<td>link=Sign out</td>
<td></td>
</tr>
-<tr>
- <td>verifyTextPresent</td>
- <td>Sign in</td>
- <td></td>
-</tr>
-
</tbody></table>
</body>
</html>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_005_SignInByUnregisteredUserName.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_005_SignInByUnregisteredUserName.html 2011-02-24 09:43:57 UTC (rev 5926)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/candidate/Test_POR_01_005_SignInByUnregisteredUserName.html 2011-02-24 09:44:54 UTC (rev 5927)
@@ -17,7 +17,12 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
+ <td>windowMaximize</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
<td>link=Sign in</td>
<td></td>
</tr>
@@ -57,14 +62,14 @@
<td></td>
</tr>
<tr>
- <td>verifyTextPresent</td>
+ <td>waitForTextPresent</td>
<td>Sign in failed. Wrong username or password.</td>
<td></td>
</tr>
<tr>
- <td>waitForValue</td>
- <td>username</td>
- <td>POR_01_005</td>
+ <td>verifyTextPresent</td>
+ <td>Sign in failed. Wrong username or password.</td>
+ <td></td>
</tr>
<tr>
<td>type</td>
@@ -91,7 +96,6 @@
<td>link=Sign out</td>
<td></td>
</tr>
-
</tbody></table>
</body>
</html>
13 years, 10 months
gatein SVN: r5926 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium.
by do-not-reply@jboss.org
Author: hangnguyen
Date: 2011-02-24 04:43:57 -0500 (Thu, 24 Feb 2011)
New Revision: 5926
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09_GroupManagement.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10_AddUserIntoGroup.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13_ShowOrHideImportApplicationIcon.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21_CreateNewPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_29_AddNewpageForPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_30_EditPageForPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_31_ManageNodePortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_33_EditNodePageProperties.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_34_ChangeContainerWhenEditPropertiesOfNodeInPortalNavigation.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_35_ChangeApplicationWhenEditPropertiesOfNodeInPortalNavigation.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_36_AddApplicationIntoContainerWhenEditPagePropertiesOfNode.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_37_ManageNavigationOfGroup.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_38_EditPropertiesForGroup.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_39_AddNewpageForGroup.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_40_EditPageForGroup.html
Log:
TESTVN-2644 - Daily tests on GateIn - Clean and improve scripts
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09_GroupManagement.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09_GroupManagement.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09_GroupManagement.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -83,12 +83,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[1]/a[3]</td>
+ <td>//a[@title="Add New Group"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[1]/a[3]</td>
+ <td>//a[@title="Add New Group"]</td>
<td></td>
</tr>
<tr>
@@ -127,8 +127,13 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title="Edit Selected Group"]</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
- <td>//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[1]/a[2]</td>
+ <td>//a[@title="Edit Selected Group"]</td>
<td></td>
</tr>
<tr>
@@ -173,12 +178,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[1]/a[1]</td>
+ <td>//a[@title="Delete Selected Group"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[1]/a[1]</td>
+ <td>//a[@title="Delete Selected Group"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10_AddUserIntoGroup.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10_AddUserIntoGroup.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10_AddUserIntoGroup.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -98,12 +98,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIGroupMembershipForm']/div[2]/div/table/tbody/tr[1]/td[2]/a</td>
+ <td>//a[@title="Select User"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIGroupMembershipForm']/div[2]/div/table/tbody/tr[1]/td[2]/a</td>
+ <td>//a[@title="Select User"]</td>
<td></td>
</tr>
<tr>
@@ -118,12 +118,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIUserSelector']/div[2]/div[2]/table/tbody/tr/td/a[1]/div/div/div</td>
+ <td>//div[contains(text(),'Add')]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIUserSelector']/div[2]/div[2]/table/tbody/tr/td/a[1]/div/div/div</td>
+ <td>//div[contains(text(),'Add')]</td>
<td></td>
</tr>
<tr>
@@ -186,7 +186,6 @@
<td>link=Sign out</td>
<td></td>
</tr>
-
</tbody></table>
</body>
</html>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13_ShowOrHideImportApplicationIcon.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13_ShowOrHideImportApplicationIcon.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13_ShowOrHideImportApplicationIcon.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -87,18 +87,23 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[contains(@title,"Hold")]</td>
+ <td></td>
+</tr>
+<tr>
<td>mouseOver</td>
- <td>//div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/div/div[1]</td>
+ <td>//div[contains(@title,"Hold")]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -168,22 +173,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/div/div[1]</td>
+ <td>//div[contains(@title,"Hold")]</td>
<td></td>
</tr>
<tr>
<td>mouseOver</td>
- <td>//div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/div/div[1]</td>
+ <td>//div[contains(@title,"Hold")]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -246,7 +251,6 @@
<td>link=Sign out</td>
<td></td>
</tr>
-
</tbody></table>
</body>
</html>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21_CreateNewPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21_CreateNewPortal.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21_CreateNewPortal.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -83,12 +83,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[5]/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[1]/div/div/div/div</td>
+ <td>//div[text()='Portal Templates']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[5]/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[1]/div/div/div/div</td>
+ <td>//div[text()='Portal Templates']</td>
<td></td>
</tr>
<tr>
@@ -97,18 +97,13 @@
<td></td>
</tr>
<tr>
- <td>click</td>
- <td>//form[@id='UIPortalForm']/div[3]/div[1]/div[1]/div/div/div[1]/div[2]/div[2]/div/div/div</td>
- <td></td>
-</tr>
-<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
@@ -118,12 +113,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
@@ -178,32 +173,32 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPermissionSelector']/div/div[2]/div[2]/table/tbody/tr/td/div[2]/div/div/div/div</td>
+ <td>link=Select Permission</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPermissionSelector']/div/div[2]/div[2]/table/tbody/tr/td/div[2]/div/div/div/div</td>
+ <td>link=Select Permission</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='PermissionSelector']/div/div[2]/div/div[2]/div/div/div[3]/div/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="Organization"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='PermissionSelector']/div/div[2]/div/div[2]/div/div/div[3]/div/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="Organization"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_29_AddNewpageForPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_29_AddNewpageForPortal.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_29_AddNewpageForPortal.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -158,12 +158,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -173,12 +173,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
+ <td>//div[@id='UINavigationNodeSelector']//a[@title="Test_SNF_PRL_29"]</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>//div[@id='UINavigationNodeSelector']//a[@title="Test_SNF_PRL_29"]</td>
<td></td>
</tr>
<tr>
@@ -253,12 +253,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//form[@id='UIPageSearch']//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//form[@id='UIPageSearch']//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_30_EditPageForPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_30_EditPageForPortal.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_30_EditPageForPortal.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -128,12 +128,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -198,12 +198,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
@@ -228,12 +228,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
@@ -288,17 +288,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this portlet"]</td>
<td>Calculator</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -318,12 +318,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
@@ -343,22 +343,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIItemThemeSelector']/div[2]/div[1]/div/div[2]/div/div/div</td>
+ <td>//div[@id='UIItemThemeSelector']//div[text()="Pink Simple"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIItemThemeSelector']/div[2]/div[1]/div/div[2]/div/div/div</td>
+ <td>//div[@id='UIItemThemeSelector']//div[text()="Pink Simple"]</td>
<td></td>
</tr>
<tr>
@@ -418,17 +418,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this portlet"]</td>
<td>Calculator</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -448,27 +448,27 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
<td>Container</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
@@ -488,31 +488,16 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
<td>echo</td>
- <td>-- View node after change application --</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>//div[@id='PortalNavigationTopContainer']/div[3]/div/div/div/div/div/div/a</td>
- <td></td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>//div[@id='PortalNavigationTopContainer']/div[3]/div/div/div/div/div/div/a</td>
- <td></td>
-</tr>
-<tr>
- <td>echo</td>
<td>-- Go to Edit Navigation --</td>
<td></td>
</tr>
@@ -628,12 +613,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_31_ManageNodePortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_31_ManageNodePortal.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_31_ManageNodePortal.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -63,12 +63,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -108,12 +108,12 @@
</tr>
<tr>
<td>waitForElementPresent</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
<td>click</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
@@ -153,12 +153,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
@@ -233,12 +233,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -278,12 +278,12 @@
</tr>
<tr>
<td>waitForElementPresent</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
<td>click</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
@@ -323,12 +323,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
@@ -408,12 +408,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_33_EditNodePageProperties.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_33_EditNodePageProperties.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_33_EditNodePageProperties.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -63,12 +63,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -97,23 +97,18 @@
<td>Test_SNF_PRL_33</td>
</tr>
<tr>
- <td>waitForElementPresent</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>echo</td>
<td>-- Page Selector--</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
<td>click</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
@@ -148,12 +143,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
@@ -233,12 +228,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -313,7 +308,7 @@
</tr>
<tr>
<td>pause</td>
- <td>1000</td>
+ <td>10000</td>
<td></td>
</tr>
<tr>
@@ -323,12 +318,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -368,22 +363,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title="Test_SNF_PRL_33"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title="Test_SNF_PRL_33"]</td>
<td></td>
</tr>
<tr>
@@ -458,12 +453,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -503,12 +498,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_34_ChangeContainerWhenEditPropertiesOfNodeInPortalNavigation.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_34_ChangeContainerWhenEditPropertiesOfNodeInPortalNavigation.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_34_ChangeContainerWhenEditPropertiesOfNodeInPortalNavigation.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -63,12 +63,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -97,23 +97,18 @@
<td>Test_SNF_PRL_34</td>
</tr>
<tr>
- <td>waitForElementPresent</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>echo</td>
<td>-- Page Selector--</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
<td>click</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
@@ -148,12 +143,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
@@ -228,22 +223,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_34']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_34']</td>
<td></td>
</tr>
<tr>
@@ -268,7 +263,7 @@
</tr>
<tr>
<td>pause</td>
- <td>1000</td>
+ <td>10000</td>
<td></td>
</tr>
<tr>
@@ -333,12 +328,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
@@ -388,12 +383,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
+ <td>Container</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title="Edit Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Container"]</td>
<td></td>
</tr>
<tr>
@@ -419,7 +419,7 @@
<tr>
<td>waitForElementPresent</td>
<td>height</td>
- <td>100px</td>
+ <td></td>
</tr>
<tr>
<td>type</td>
@@ -443,13 +443,13 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
<td>Test_SNF_PRL_34</td>
</tr>
<tr>
<td>dragAndDropToObject</td>
- <td>//div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div</td>
- <td>//a[@title='mix']</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
+ <td>//div[contains(text(),"Community Management")]</td>
</tr>
<tr>
<td>echo</td>
@@ -483,17 +483,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div[2]/div/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
<td>Test_SNF_PRL_34</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[2]/div/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[2]/div/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
@@ -508,12 +508,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -553,12 +553,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_35_ChangeApplicationWhenEditPropertiesOfNodeInPortalNavigation.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_35_ChangeApplicationWhenEditPropertiesOfNodeInPortalNavigation.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_35_ChangeApplicationWhenEditPropertiesOfNodeInPortalNavigation.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -63,12 +63,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -103,12 +103,12 @@
</tr>
<tr>
<td>waitForElementPresent</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
<td>click</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>//div[text()='Page Selector']</td>
<td></td>
</tr>
<tr>
@@ -143,12 +143,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
@@ -223,22 +223,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_35']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_35']</td>
<td></td>
</tr>
<tr>
@@ -377,16 +377,6 @@
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
- <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[1]</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseOver</td>
- <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[1]</td>
- <td></td>
-</tr>
-<tr>
<td>echo</td>
<td>-- Return to normal view --</td>
<td></td>
@@ -408,17 +398,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this portlet"]</td>
<td>Calculator</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title='Edit Portlet']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title='Edit Portlet']</td>
<td></td>
</tr>
<tr>
@@ -438,12 +428,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
@@ -463,12 +453,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
@@ -538,18 +528,13 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this portlet"]</td>
<td>Test_SNF_PRL_35</td>
</tr>
<tr>
- <td>verifyElementPresent</td>
- <td>//div[1]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[1]</td>
- <td></td>
-</tr>
-<tr>
<td>dragAndDropToObject</td>
- <td>//div[1]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[1]</td>
- <td>//div[@class='LabelTab']</td>
+ <td>//div[@title="Hold this area to drag this portlet"]</td>
+ <td>//div[contains(text(),"Community Management")]</td>
</tr>
<tr>
<td>echo</td>
@@ -593,17 +578,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[1]</td>
<td>Test_SNF_PRL_35</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//div[2]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
<td></td>
</tr>
<tr>
@@ -618,12 +603,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -663,12 +648,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_36_AddApplicationIntoContainerWhenEditPagePropertiesOfNode.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_36_AddApplicationIntoContainerWhenEditPagePropertiesOfNode.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_36_AddApplicationIntoContainerWhenEditPagePropertiesOfNode.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -63,12 +63,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
@@ -97,18 +97,18 @@
<td>Test_SNF_PRL_36</td>
</tr>
<tr>
- <td>waitForElementPresent</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>echo</td>
+ <td>-- Page Selector--</td>
<td></td>
</tr>
<tr>
- <td>echo</td>
- <td>-- Page Selector--</td>
+ <td>waitForElementPresent</td>
+ <td>//div[text()="Page Selector"]</td>
<td></td>
</tr>
<tr>
<td>click</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>//div[text()="Page Selector"]</td>
<td></td>
</tr>
<tr>
@@ -143,12 +143,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//form[@id='UIPageSearch']//a[@title="Quick Search"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//form[@id='UIPageSearch']//a[@title="Quick Search"]</td>
<td></td>
</tr>
<tr>
@@ -223,22 +223,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_36']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_36']</td>
<td></td>
</tr>
<tr>
@@ -263,7 +263,7 @@
</tr>
<tr>
<td>pause</td>
- <td>1000</td>
+ <td>10000</td>
<td></td>
</tr>
<tr>
@@ -328,12 +328,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
@@ -358,12 +358,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
@@ -418,17 +418,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
- <td>Calculator</td>
+ <td>//div[contains(@title,"Hold")]</td>
+ <td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -448,27 +448,27 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
- <td>Container</td>
+ <td>//div[contains(@title,"Hold")]</td>
+ <td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
@@ -488,12 +488,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
@@ -538,27 +538,27 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Edit Navigation</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"classic") and text()="Edit Navigation"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_36']</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>//a[@title='Test_SNF_PRL_36']</td>
<td></td>
</tr>
<tr>
<td>pause</td>
- <td>1000</td>
+ <td>10000</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_37_ManageNavigationOfGroup.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_37_ManageNavigationOfGroup.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_37_ManageNavigationOfGroup.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -186,7 +186,6 @@
<td>link=Sign out</td>
<td></td>
</tr>
-
</tbody></table>
</body>
</html>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_38_EditPropertiesForGroup.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_38_EditPropertiesForGroup.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_38_EditPropertiesForGroup.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -118,11 +118,6 @@
</tr>
<tr>
<td>echo</td>
- <td>-- https://jira.jboss.org/browse/GTNPORTAL-1402--</td>
- <td></td>
-</tr>
-<tr>
- <td>echo</td>
<td>-- Return to default priority--</td>
<td></td>
</tr>
@@ -176,7 +171,6 @@
<td>link=Sign out</td>
<td></td>
</tr>
-
</tbody></table>
</body>
</html>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_39_AddNewpageForGroup.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_39_AddNewpageForGroup.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_39_AddNewpageForGroup.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -73,12 +73,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageNodeSelector']/div/div/div[2]/div/div/div/div[1]/a</td>
+ <td>//div[@id='UIPageNodeSelector']//a[@title='Up Level']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageNodeSelector']/div/div/div[2]/div/div/div/div[1]/a</td>
+ <td>//div[@id='UIPageNodeSelector']//a[@title='Up Level']</td>
<td></td>
</tr>
<tr>
@@ -133,12 +133,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']/div[1]//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']/div[1]//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -178,12 +178,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div[2]/div[3]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_39']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div[2]/div[3]/div/a</td>
+ <td>//a[@title='Test_SNF_PRL_39']</td>
<td></td>
</tr>
<tr>
@@ -217,6 +217,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Save</td>
<td></td>
@@ -239,7 +244,7 @@
<tr>
<td>waitForElementPresent</td>
<td>searchTerm</td>
- <td>Test_SNF_PRL_39</td>
+ <td></td>
</tr>
<tr>
<td>type</td>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_40_EditPageForGroup.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_40_EditPageForGroup.html 2011-02-23 14:19:04 UTC (rev 5925)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_40_EditPageForGroup.html 2011-02-24 09:43:57 UTC (rev 5926)
@@ -73,12 +73,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageNodeSelector']/div/div/div[2]/div/div/div/div[1]/a</td>
+ <td>//div[@id='UIPageNodeSelector']//a[@title='Up Level']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageNodeSelector']/div/div/div[2]/div/div/div/div[1]/a</td>
+ <td>//div[@id='UIPageNodeSelector']//a[@title='Up Level']</td>
<td></td>
</tr>
<tr>
@@ -133,12 +133,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -203,12 +203,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
@@ -233,12 +233,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
@@ -293,17 +293,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[contains(@title,"Hold")]</td>
<td>Calculator</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title='Edit Portlet']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title='Edit Portlet']</td>
<td></td>
</tr>
<tr>
@@ -323,12 +323,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
@@ -348,22 +348,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIItemThemeSelector']/div[2]/div[1]/div/div[2]/div/div/div</td>
+ <td>//div[text()='Pink Simple']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIItemThemeSelector']/div[2]/div[1]/div/div[2]/div/div/div</td>
+ <td>//div[text()='Pink Simple']</td>
<td></td>
</tr>
<tr>
@@ -423,17 +423,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
- <td>Calculator</td>
+ <td>//div[contains(@title,"Hold")]</td>
+ <td>Test_SNF_PRL_40</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title='Delete Portlet']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title='Delete Portlet']</td>
<td></td>
</tr>
<tr>
@@ -453,27 +453,27 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[contains(@title,"Hold")]</td>
<td>Container</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title='Delete Container']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title='Delete Container']</td>
<td></td>
</tr>
<tr>
@@ -493,12 +493,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPageEditor']//a[@title='Finish']</td>
<td></td>
</tr>
<tr>
@@ -572,6 +572,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Save</td>
<td></td>
@@ -608,12 +613,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td>//a[@title='Quick Search']</td>
<td></td>
</tr>
<tr>
13 years, 10 months
gatein SVN: r5925 - in portal/trunk/packaging: jboss-as5/pkg/src/main/resources/jboss/server/default/deployers/jbossweb.deployer and 2 other directories.
by do-not-reply@jboss.org
Author: mstruk
Date: 2011-02-23 09:19:04 -0500 (Wed, 23 Feb 2011)
New Revision: 5925
Modified:
portal/trunk/packaging/jboss-as5/pkg/package.xml
portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deployers/jbossweb.deployer/web.xml
portal/trunk/packaging/jboss-as6/pkg/package.xml
portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/jbossweb.sar/web.xml
Log:
GTNMAVEN-16 Packaging that supports JBossAS6 and does away with javascript packager
- added filtered copying of xml files used for patching JBossAS - to allow using properties
Modified: portal/trunk/packaging/jboss-as5/pkg/package.xml
===================================================================
--- portal/trunk/packaging/jboss-as5/pkg/package.xml 2011-02-23 11:11:38 UTC (rev 5924)
+++ portal/trunk/packaging/jboss-as5/pkg/package.xml 2011-02-23 14:19:04 UTC (rev 5925)
@@ -30,11 +30,23 @@
<target name="copy-dependencies"/>
</ant>
- <!-- Copy configuration -->
+ <!-- Copy configuration non-xml first -->
<copy todir="${jbossas.target.dir}" preservelastmodified="true" overwrite="true">
- <fileset dir="${maven.project.basedir}/src/main/resources/jboss"/>
+ <fileset dir="${maven.project.basedir}/src/main/resources/jboss">
+ <exclude name="**/*.xml" />
+ </fileset>
</copy>
+ <!-- Copy configuration xml files with filtering -->
+ <copy todir="${jbossas.target.dir}" preservelastmodified="true" overwrite="true">
+ <fileset dir="${maven.project.basedir}/src/main/resources/jboss">
+ <include name="**/*.xml" />
+ </fileset>
+ <filterset begintoken="@{" endtoken="}">
+ <filter token="org.gatein.pc.version" value="${org.gatein.pc.version}" />
+ </filterset>
+ </copy>
+
<!-- Copy configuration -->
<copy file="${maven.project.basedir}/../../../component/common/src/main/java/conf/configuration-jboss.properties"
tofile="${jbossas.target.dir}/server/default/conf/gatein/configuration.properties"
Modified: portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deployers/jbossweb.deployer/web.xml
===================================================================
--- portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deployers/jbossweb.deployer/web.xml 2011-02-23 11:11:38 UTC (rev 5924)
+++ portal/trunk/packaging/jboss-as5/pkg/src/main/resources/jboss/server/default/deployers/jbossweb.deployer/web.xml 2011-02-23 14:19:04 UTC (rev 5925)
@@ -304,7 +304,7 @@
<init-param>
<description>Portlet standard tlds</description>
<param-name>tagLibJar2</param-name>
- <param-value>../../deploy/gatein.ear/lib/pc-portlet-2.2.0-GA.jar</param-value>
+ <param-value>../../deploy/gatein.ear/lib/pc-portlet-(a){org.gatein.pc.version}.jar</param-value>
</init-param>
Modified: portal/trunk/packaging/jboss-as6/pkg/package.xml
===================================================================
--- portal/trunk/packaging/jboss-as6/pkg/package.xml 2011-02-23 11:11:38 UTC (rev 5924)
+++ portal/trunk/packaging/jboss-as6/pkg/package.xml 2011-02-23 14:19:04 UTC (rev 5925)
@@ -24,17 +24,30 @@
<param name="default.ear.context" expression="${jbossas.target.dir}/server/default/deploy"/>
<param name="lib.context" expression="${jbossas.target.dir}/server/default/lib"/>
<param name="deploy.context" expression="${jbossas.target.dir}/server/default/deploy"/>
+ <param name="profile" expression="${profile}"/>
<mapper type="glob" from="pom.xml" to="copy-dependencies.xml"/>
</xslt>
<ant antfile="${maven.project.build.directory}/copy-dependencies.xml" inheritRefs="true">
<target name="copy-dependencies"/>
</ant>
- <!-- Copy configuration -->
+ <!-- Copy configuration non-xml first -->
<copy todir="${jbossas.target.dir}" preservelastmodified="true" overwrite="true">
- <fileset dir="${maven.project.basedir}/src/main/resources/jboss"/>
+ <fileset dir="${maven.project.basedir}/src/main/resources/jboss">
+ <exclude name="**/*.xml" />
+ </fileset>
</copy>
+ <!-- Copy configuration xml files with filtering -->
+ <copy todir="${jbossas.target.dir}" preservelastmodified="true" overwrite="true">
+ <fileset dir="${maven.project.basedir}/src/main/resources/jboss">
+ <include name="**/*.xml" />
+ </fileset>
+ <filterset begintoken="@{" endtoken="}">
+ <filter token="org.gatein.pc.version" value="${org.gatein.pc.version}" />
+ </filterset>
+ </copy>
+
<!-- Copy configuration -->
<copy file="${maven.project.basedir}/../../../component/common/src/main/java/conf/configuration-jboss.properties"
tofile="${jbossas.target.dir}/server/default/conf/gatein/configuration.properties"
Modified: portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/jbossweb.sar/web.xml
===================================================================
--- portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/jbossweb.sar/web.xml 2011-02-23 11:11:38 UTC (rev 5924)
+++ portal/trunk/packaging/jboss-as6/pkg/src/main/resources/jboss/server/default/deploy/jbossweb.sar/web.xml 2011-02-23 14:19:04 UTC (rev 5925)
@@ -163,7 +163,7 @@
<init-param>
<description>Portlet standard tlds</description>
<param-name>tagLibJar0</param-name>
- <param-value>../../lib/pc-portlet-2.2.0-GA.jar</param-value>
+ <param-value>../../lib/pc-portlet-(a){org.gatein.pc.version}.jar</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
13 years, 10 months
gatein SVN: r5924 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium.
by do-not-reply@jboss.org
Author: hangnguyen
Date: 2011-02-23 06:11:38 -0500 (Wed, 23 Feb 2011)
New Revision: 5924
Modified:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_25_ChangeContainerInPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_26_ChangeApplicationInPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_AddApplicationIntoContainerInLayoutOfPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_28_EditPortalConfig.html
Log:
TESTVN-2644 - Daily tests on GateIn - Clean and improve scripts
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_25_ChangeContainerInPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_25_ChangeContainerInPortal.html 2011-02-23 11:11:25 UTC (rev 5923)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_25_ChangeContainerInPortal.html 2011-02-23 11:11:38 UTC (rev 5924)
@@ -218,12 +218,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
@@ -243,12 +243,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[1]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_25") and text()="Edit Layout"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[1]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_25") and text()="Edit Layout"]</td>
<td></td>
</tr>
<tr>
@@ -293,12 +293,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
@@ -333,12 +333,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposer']/div[3]/div/div/div[1]/table/tbody/tr/td/div[2]/div/div/div/div</td>
+ <td>link=Switch View Mode</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposer']/div[3]/div/div/div[1]/table/tbody/tr/td/div[2]/div/div/div/div</td>
+ <td>link=Switch View Mode</td>
<td></td>
</tr>
<tr>
@@ -348,12 +348,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
+ <td>Container</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title="Edit Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Container"]</td>
<td></td>
</tr>
<tr>
@@ -379,7 +384,7 @@
<tr>
<td>waitForElementPresent</td>
<td>height</td>
- <td>100px</td>
+ <td></td>
</tr>
<tr>
<td>type</td>
@@ -403,7 +408,7 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
<td></td>
</tr>
<tr>
@@ -448,17 +453,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div[4]/div/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
<td>Test_SNF_PRL_25</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[4]/div/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[4]/div/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
@@ -473,12 +478,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPortalComposer']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPortalComposer']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
@@ -518,12 +523,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//a[@class="DeleteIcon"]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_25") and text()="Delete"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//a[@class="DeleteIcon"]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_25") and text()="Delete"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_26_ChangeApplicationInPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_26_ChangeApplicationInPortal.html 2011-02-23 11:11:25 UTC (rev 5923)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_26_ChangeApplicationInPortal.html 2011-02-23 11:11:38 UTC (rev 5924)
@@ -62,6 +62,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Add New Portal</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Add New Portal</td>
<td></td>
@@ -83,22 +88,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[5]/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[1]/div/div/div/div</td>
+ <td>//div[text()='Portal Templates']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[5]/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[1]/div/div/div/div</td>
+ <td>//div[text()='Portal Templates']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPortalForm']/div[3]/div[1]/div[1]/div/div/div[1]/div[2]/div[1]/div/div/div</td>
+ <td>//div[text()='Basic Portal']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPortalForm']/div[3]/div[1]/div[1]/div/div/div[1]/div[2]/div[1]/div/div/div</td>
+ <td>//div[text()='Basic Portal']</td>
<td></td>
</tr>
<tr>
@@ -108,12 +113,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
@@ -123,12 +128,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
@@ -213,12 +218,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
@@ -238,12 +243,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[1]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_26") and text()="Edit Layout"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[1]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_26") and text()="Edit Layout"]</td>
<td></td>
</tr>
<tr>
@@ -344,16 +349,16 @@
<tr>
<td>mouseOver</td>
<td>//div[3]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[2]</td>
- <td>Calculator</td>
+ <td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[3]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[3]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[1]</td>
+ <td>//a[@title="Edit Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -373,12 +378,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Select Icon"]</td>
<td></td>
</tr>
<tr>
@@ -398,22 +403,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[2]/div/div/div/div/div/div/div[1]/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[@id='UIMaskWorkspace']//div[text()="Decoration Themes"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIItemThemeSelector']/div[2]/div[1]/div/div[2]/div/div/div</td>
+ <td>//div[@id='UIItemThemeSelector']//div[text()="Pink Simple"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIItemThemeSelector']/div[2]/div[1]/div/div[2]/div/div/div</td>
+ <td>//div[@id='UIItemThemeSelector']//div[text()="Pink Simple"]</td>
<td></td>
</tr>
<tr>
@@ -508,17 +513,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div[4]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[5]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/div[1]</td>
<td>Test_SNF_PRL_26</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[4]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//div[5]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[4]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//div[5]/div/div[2]/div/div/div[2]/div/div/div/div/div/div/a[2]</td>
<td></td>
</tr>
<tr>
@@ -533,12 +538,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPortalComposer']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPortalComposer']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
@@ -548,12 +553,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Delete</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_26") and text()="Delete"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Delete</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_26") and text()="Delete"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_AddApplicationIntoContainerInLayoutOfPortal.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_AddApplicationIntoContainerInLayoutOfPortal.html 2011-02-23 11:11:25 UTC (rev 5923)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_AddApplicationIntoContainerInLayoutOfPortal.html 2011-02-23 11:11:38 UTC (rev 5924)
@@ -63,12 +63,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UISiteManagement']/table/tbody/tr/td[3]/a[1]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=classic") and text()="Edit Layout"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UISiteManagement']/table/tbody/tr/td[3]/a[1]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=classic") and text()="Edit Layout"]</td>
<td></td>
</tr>
<tr>
@@ -92,6 +92,11 @@
<td></td>
</tr>
<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Switch View Mode</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Switch View Mode</td>
<td></td>
@@ -103,12 +108,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
@@ -133,12 +138,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[1]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Applications")]</td>
<td></td>
</tr>
<tr>
@@ -183,17 +188,17 @@
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this portlet"]</td>
<td>Calculator</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Portlet"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Portlet"]</td>
<td></td>
</tr>
<tr>
@@ -213,27 +218,27 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposerTab']/div[1]/div/div[2]/div/div/div/div</td>
+ <td>//div[@id='UIPortalComposerTab']//div[contains(text(),"Containers")]</td>
<td></td>
</tr>
<tr>
<td>mouseOver</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/div[2]</td>
+ <td>//div[@title="Hold this area to drag this container"]</td>
<td>Container</td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div/div/div[2]/div/div/div/div/div/div/a[2]</td>
+ <td>//a[@title="Delete Container"]</td>
<td></td>
</tr>
<tr>
@@ -253,12 +258,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPortalComposer']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]</td>
+ <td>//div[@id='UIPortalComposer']//a[@title="Finish"]</td>
<td></td>
</tr>
<tr>
Modified: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_28_EditPortalConfig.html
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_28_EditPortalConfig.html 2011-02-23 11:11:25 UTC (rev 5923)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_28_EditPortalConfig.html 2011-02-23 11:11:38 UTC (rev 5924)
@@ -108,22 +108,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[1]/div/div/div/div</td>
+ <td>//div[text()='Portal Templates']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[1]/div/div/div/div</td>
+ <td>//div[text()='Portal Templates']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//form[@id='UIPortalForm']/div[3]/div[1]/div[1]/div/div/div[1]/div[2]/div[2]/div/div/div</td>
+ <td>//div[text()='Classic Portal']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//form[@id='UIPortalForm']/div[3]/div[1]/div[1]/div/div/div[1]/div[2]/div[2]/div/div/div</td>
+ <td>//div[text()='Classic Portal']</td>
<td></td>
</tr>
<tr>
@@ -133,12 +133,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
@@ -148,12 +148,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
@@ -218,22 +218,22 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='PermissionSelector']/div/div[2]/div/div[2]/div/div/div[3]/div/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="Organization"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='PermissionSelector']/div/div[2]/div/div[2]/div/div/div[3]/div/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="Organization"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='PermissionSelector']/div/div[3]/div/div[2]/div[2]/a</td>
+ <td>//div[@id='PermissionSelector']//a[@title="manager"]</td>
<td></td>
</tr>
<tr>
@@ -273,12 +273,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[3]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"Test_SNF_PRL_28") and text()="Edit Portal's Config"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[3]</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"Test_SNF_PRL_28") and text()="Edit Portal's Config"]</td>
<td></td>
</tr>
<tr>
@@ -294,7 +294,7 @@
<tr>
<td>waitForElementPresent</td>
<td>skin</td>
- <td>label=Default</td>
+ <td></td>
</tr>
<tr>
<td>select</td>
@@ -308,12 +308,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[2]/div/div/div/div</td>
+ <td>//div[text()='Properties']</td>
<td></td>
</tr>
<tr>
@@ -333,32 +333,32 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIMaskWorkspace']/div[2]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div/div/div</td>
+ <td>//div[text()='Permission Setting']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='UIListPermissionSelector']/div[4]/table/tbody/tr/td/div/div/div/div</td>
+ <td>link=Add Permission</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='UIListPermissionSelector']/div[4]/table/tbody/tr/td/div/div/div/div</td>
+ <td>link=Add Permission</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>//div[@id='ListPermissionSelector']/div/div[2]/div/div[2]/div/div/div[3]/div/a</td>
+ <td>//div[@id='ListPermissionSelector']//a[@title="Organization"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>//div[@id='ListPermissionSelector']/div/div[2]/div/div[2]/div/div/div[3]/div/a</td>
+ <td>//div[@id='ListPermissionSelector']//a[@title="Organization"]</td>
<td></td>
</tr>
<tr>
@@ -423,12 +423,12 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=Delete</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_28") and text()="Delete"]</td>
<td></td>
</tr>
<tr>
<td>click</td>
- <td>link=Delete</td>
+ <td>//div[@id='UISiteManagement']//a[contains(@href,"objectId=Test_SNF_PRL_28") and text()="Delete"]</td>
<td></td>
</tr>
<tr>
13 years, 10 months
gatein SVN: r5923 - in portal/branches/shindig2: gadgets/core/src/main/java/org/exoplatform/portal/gadget/core and 1 other directory.
by do-not-reply@jboss.org
Author: alain_defrance
Date: 2011-02-23 06:11:25 -0500 (Wed, 23 Feb 2011)
New Revision: 5923
Modified:
portal/branches/shindig2/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/GateInJsonContainerConfig.java
portal/branches/shindig2/pom.xml
Log:
use https://github.com/defrancea/shindig
Modified: portal/branches/shindig2/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/GateInJsonContainerConfig.java
===================================================================
--- portal/branches/shindig2/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/GateInJsonContainerConfig.java 2011-02-23 11:11:08 UTC (rev 5922)
+++ portal/branches/shindig2/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/GateInJsonContainerConfig.java 2011-02-23 11:11:25 UTC (rev 5923)
@@ -24,7 +24,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.shindig.common.JsonSerializer;
import org.apache.shindig.common.util.ResourceLoader;
-import org.apache.shindig.config.AbstractContainerConfig;
+import org.apache.shindig.config.BasicContainerConfig;
import org.apache.shindig.config.ContainerConfigELResolver;
import org.apache.shindig.config.ContainerConfigException;
import org.apache.shindig.config.DynamicConfigProperty;
@@ -66,7 +66,7 @@
* Time: 2:12 PM
*/
@Singleton
-public class GateInJsonContainerConfig extends AbstractContainerConfig {
+public class GateInJsonContainerConfig extends BasicContainerConfig {
private static final Logger LOG = Logger.getLogger(GateInJsonContainerConfig.class.getName());
public static final char FILE_SEPARATOR = ',';
Modified: portal/branches/shindig2/pom.xml
===================================================================
--- portal/branches/shindig2/pom.xml 2011-02-23 11:11:08 UTC (rev 5922)
+++ portal/branches/shindig2/pom.xml 2011-02-23 11:11:25 UTC (rev 5923)
@@ -42,7 +42,7 @@
<org.exoplatform.ws.version>2.1.5-GA</org.exoplatform.ws.version>
<org.exoplatform.jcr.version>1.12.5-GA</org.exoplatform.jcr.version>
<org.jibx.version>1.2.1</org.jibx.version>
- <org.shindig.version>2.0.2</org.shindig.version>
+ <org.shindig.version>3.0.0-1073649-SNAPSHOT</org.shindig.version>
<nl.captcha.simplecaptcha.version>1.1.1-GA-Patch01</nl.captcha.simplecaptcha.version>
<org.gatein.common.version>2.0.3-GA</org.gatein.common.version>
<org.gatein.wci.version>2.1.0-Alpha02</org.gatein.wci.version>
13 years, 10 months
gatein SVN: r5922 - portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium.
by do-not-reply@jboss.org
Author: hangnguyen
Date: 2011-02-23 06:11:08 -0500 (Wed, 23 Feb 2011)
New Revision: 5922
Added:
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html
portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html
Log:
TESTVN-2644 - Daily tests on GateIn - Clean and improve scripts
Copied: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html (from rev 5904, portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html.html)
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html (rev 0)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html 2011-02-23 11:11:08 UTC (rev 5922)
@@ -0,0 +1,616 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Test_SNF_PRL_32_MoreActionOnNodeInEditNavigationOfPortal.html</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/portal/public/classic/</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- More action on node in edit navigation of portal --</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>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>username</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>link=Site</td>
+ <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>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Add new node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Add Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Add Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>name</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>name</td>
+ <td>Test_SNF_PRL_32</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>label</td>
+ <td>Test_SNF_PRL_32</td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Choose Page Selector--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[text()='Page Selector']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[text()='Page Selector']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Search and Select Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Search and Select Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>searchTerm</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>searchTerm</td>
+ <td>Group Navigation</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>searchOption</td>
+ <td></td>
+</tr>
+<tr>
+ <td>select</td>
+ <td>searchOption</td>
+ <td>label=Title</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//form[@id='UIPageSearch']//a[@title="Quick Search"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//form[@id='UIPageSearch']//a[@title="Quick Search"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//img[@title='Select Page']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//img[@title='Select Page']</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>echo</td>
+ <td>-- Copy node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Test_SNF_PRL_32</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Test_SNF_PRL_32</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Copy Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Copy Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- paste node to new place--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']//a[@title="Home"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']//a[@title="Home"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Home']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Home']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='NavigationNodePopupMenu']/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='NavigationNodePopupMenu']/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Cut node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseOver</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[8]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</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>//div[5]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[5]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- paste node to new place--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Clone node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div[2]/div[2]/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div[2]/div[2]/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Clone Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Clone Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@class='HomeNode']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//div[@class='HomeNode']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Paste Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Paste Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Move node up</td>
+ <td></td>
+</tr>
+<tr>
+ <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>link=Test_SNF_PRL_32</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveUp16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveUp16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Move node down</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveDown16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveDown16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Delete node is cloned --</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//a[@title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<tr>
+ <td>echo</td>
+ <td>-- Delete node is copied--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div[2]/div[2]/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[3]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div[2]/div[2]/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<tr>
+ <td>echo</td>
+ <td>-- Delete node clone-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title='SiteMap']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//a[@title='SiteMap']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_32']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<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>
+</tr>
+</tbody></table>
+</body>
+</html>
Copied: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html (from rev 5904, portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html.html)
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html (rev 0)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html 2011-02-23 11:11:08 UTC (rev 5922)
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Test_SNF_PRL_46_MoreActionOnNodeInEditNavigationOfGroup.html</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/portal/public/classic/</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- More action on node in edit navigation of group --</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>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>username</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Go to Group navigation --</td>
+ <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>link=Edit Navigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Edit Navigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Add new node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Add Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Add Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>name</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>name</td>
+ <td>Test_SNF_PRL_46</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>label</td>
+ <td>Test_SNF_PRL_46</td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Choose Page Selector--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</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[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>waitForElementPresent</td>
+ <td>link=Search and Select Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Search and Select Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>searchTerm</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>searchTerm</td>
+ <td>Community Management</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>searchOption</td>
+ <td></td>
+</tr>
+<tr>
+ <td>select</td>
+ <td>searchOption</td>
+ <td>label=Title</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//form[@id='UIPageSearch']/div[2]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//img[@title='Select Page']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//img[@title='Select Page']</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>echo</td>
+ <td>-- Copy node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Copy Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Copy Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- paste node to new place--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Organization']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Organization']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='NavigationNodePopupMenu']/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='NavigationNodePopupMenu']/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Cut node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[5]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[5]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- paste node to new place--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon' and @title='New Staff']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon' and @title='New Staff']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//html/body/div/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/div/div/div[4]/div/div[2]/div/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/div/div[2]/div/div/div[7]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Clone node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Clone Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Clone Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[1]/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@class='HomeNode']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//div[@class='HomeNode']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Paste Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Paste Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Move node up</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveUp16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveUp16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Move node down</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveDown16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//div[@id='UINavigationNodeSelector']//div[@id='NavigationNodePopupMenu']//a[@class='ItemIcon MoveDown16x16Icon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Delete node is cloned --</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<tr>
+ <td>echo</td>
+ <td>-- Delete node is copied--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title='New Staff']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//a[@title='New Staff']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[2]/div/div/div[2]/div[2]/div/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[2]/div/div/div[2]/div[2]/div/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<tr>
+ <td>echo</td>
+ <td>-- Delete node clone-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@title='Up Level']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//a[@title='Up Level']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>//a[@class='NodeIcon DefaultPageIcon NodeSelected' and @title='Test_SNF_PRL_46']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForTextNotPresent</td>
+ <td>Test_SNF_PRL_46</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextNotPresent</td>
+ <td>Test_SNF_PRL_46</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>
+</tr>
+</tbody></table>
+</body>
+</html>
Copied: portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html (from rev 5904, portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html.html)
===================================================================
--- portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html (rev 0)
+++ portal/trunk/testsuite/selenium-snifftests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html 2011-02-23 11:11:08 UTC (rev 5922)
@@ -0,0 +1,537 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="http://localhost:8080/portal" />
+<title>Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Test_SNF_PRL_47_EditNodePagePropertiesForGroup.html</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/portal/public/classic</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Edit Node page's properties in group navigation--</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>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>username</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Add new node for group --</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>link=Group</td>
+ <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>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Add Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Add Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>name</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>name</td>
+ <td>Test_SNF_PRL_47</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>label</td>
+ <td>Test_SNF_PRL_47</td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Page Selector--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</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[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>waitForElementPresent</td>
+ <td>link=Search and Select Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Search and Select Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//img[@title='Select Page']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//img[@title='Select Page']</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>echo</td>
+ <td>-- Save to finish create new 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>echo</td>
+ <td>-- View new node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[4]/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[4]/div[2]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForTextPresent</td>
+ <td>Test_SNF_PRL_47</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Test_SNF_PRL_47</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Edit node's page by check show max windown--</td>
+ <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>link=Edit Navigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Edit Navigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>1000</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Edit Node's Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Edit Node's Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- View page properties--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>1000</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=View Page properties</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=View Page properties</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//input[@class='checkbox']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>check</td>
+ <td>xpath=//input[@class='checkbox']</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>echo</td>
+ <td>-- Click Finish edit node's page--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//a[@class='EdittedSaveButton']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//a[@class='EdittedSaveButton']</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>clickAndWait</td>
+ <td>link=Test_SNF_PRL_47</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertLocation</td>
+ <td>http://localhost:8080/portal/private/classic/Test_SNF_PRL_47</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Edit node's page by un-check show max windown--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>link=Group</td>
+ <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>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>1000</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Edit Node's Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Edit Node's Page</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- View page properties--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=View Page properties</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=View Page properties</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>showMaxWindow</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>showMaxWindow</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>echo</td>
+ <td>-- Click Finish edit node's page--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//a[@class='EdittedSaveButton']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>xpath=//a[@class='EdittedSaveButton']</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>clickAndWait</td>
+ <td>link=Test_SNF_PRL_47</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertLocation</td>
+ <td>http://localhost:8080/portal/private/classic/Test_SNF_PRL_47</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-- Delete this node--</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>link=Group</td>
+ <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>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='UINavigationNodeSelector']/div/div/div/div[2]/div/div/div[3]/div/a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>1000</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseDownRight</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Delete Node</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Delete Node</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>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>xpath=//a[@title='Test_SNF_PRL_47']</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>
+</tr>
+
+</tbody></table>
+</body>
+</html>
13 years, 10 months
gatein SVN: r5921 - components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat.
by do-not-reply@jboss.org
Author: mstruk
Date: 2011-02-23 05:15:49 -0500 (Wed, 23 Feb 2011)
New Revision: 5921
Modified:
components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ContainerServlet.java
components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java
Log:
Off switch for cross-context session invalidation on logout - prototype impl
Modified: components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ContainerServlet.java
===================================================================
--- components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ContainerServlet.java 2011-02-23 06:42:19 UTC (rev 5920)
+++ components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ContainerServlet.java 2011-02-23 10:15:49 UTC (rev 5921)
@@ -26,6 +26,8 @@
import org.apache.catalina.Wrapper;
import org.apache.catalina.Container;
import org.apache.catalina.Engine;
+import org.gatein.common.logging.Logger;
+import org.gatein.common.logging.LoggerFactory;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
@@ -36,7 +38,10 @@
*/
public class TC6ContainerServlet extends HttpServlet implements ContainerServlet
{
+ private static final Logger log = LoggerFactory.getLogger(TC6ContainerServlet.class);
+ private static final String INVALIDATE_SESSION_IN_ALL_CTX = "org.gatein.invalidate_session_in_all_ctx";
+
/** . */
private Wrapper wrapper;
@@ -108,6 +113,7 @@
{
Engine engine = (Engine)container;
containerContext = new TC6ServletContainerContext(engine);
+ containerContext.setInvalidateSessionInAllContexts(getInvalidateSessionInAllContextsConfig());
containerContext.start();
break;
}
@@ -124,4 +130,16 @@
containerContext = null;
}
}
+
+ public boolean getInvalidateSessionInAllContextsConfig() {
+ String val = getServletContext().getInitParameter(INVALIDATE_SESSION_IN_ALL_CTX);
+ if (val == null || Boolean.valueOf(val))
+ return true;
+
+ if (!"false".equalsIgnoreCase(val))
+ log.warn("Context init param " + INVALIDATE_SESSION_IN_ALL_CTX + " value is invalid: " + val + " - falling back to: false");
+
+ log.info("Cross-context session invalidation on logout disabled");
+ return false;
+ }
}
Modified: components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java
===================================================================
--- components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java 2011-02-23 06:42:19 UTC (rev 5920)
+++ components/wci/branches/logout/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java 2011-02-23 10:15:49 UTC (rev 5921)
@@ -77,6 +77,9 @@
/** . */
private Registration registration;
+ /** perform cross context session invalidation on logout, or not */
+ private boolean invalidateSessionInAllCtx = true;
+
public TC6ServletContainerContext(Engine engine)
{
this.engine = engine;
@@ -115,8 +118,11 @@
return;
sess.invalidate();
+
+ if (!invalidateSessionInAllCtx)
+ return;
+
final String sessId = sess.getId();
-
DefaultServletContainerFactory.getInstance().getServletContainer().visit(new ServletContainerVisitor()
{
public void accept(WebApp webApp)
@@ -332,4 +338,8 @@
e.printStackTrace();
}
}
+
+ public void setInvalidateSessionInAllContexts(boolean val) {
+ invalidateSessionInAllCtx = val;
+ }
}
13 years, 10 months
gatein SVN: r5920 - in portal/trunk: component/application-registry/src/main/java/org/exoplatform/application/registry/impl and 14 other directories.
by do-not-reply@jboss.org
Author: ndkhoiits
Date: 2011-02-23 01:42:19 -0500 (Wed, 23 Feb 2011)
New Revision: 5920
Added:
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_fr.properties
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_vi.properties
Modified:
portal/trunk/
portal/trunk/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java
portal/trunk/examples/extension/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties
portal/trunk/examples/extension/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl
portal/trunk/examples/portal/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties
portal/trunk/examples/portal/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl
portal/trunk/pom.xml
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIAddApplicationForm.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_en.properties
portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl
portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl
portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl
portal/trunk/portlet/exoadmin/src/main/webapp/skin/applicationregistry/webui/component/UIApplicationRegistryPortlet/DefaultStylesheet.css
portal/trunk/portlet/web/src/main/webapp/skin/portal/webui/component/UILogoPortlet/DefaultStylesheet.css
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/ExoBasedUserPrefStore.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIAction/Stylesheet.css
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java
Log:
GTNPORTAL-1790 Merge the commit branch of sprint 47 back to trunk
Property changes on: portal/trunk
___________________________________________________________________
Added: svn:mergeinfo
+ /portal/branches/branch-GTNPORTAL-1790:5864-5919
Modified: portal/trunk/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java
===================================================================
--- portal/trunk/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -524,11 +524,25 @@
contentId = info.getApplicationName() + "/" + info.getName();
}
- //
- app = category.createContent(portletName, contentType, contentId);
- app.setDisplayName(displayName);
- app.setDescription(getLocalizedStringValue(descriptionLS, portletName));
- app.setAccessPermissions(permissions);
+ // Check if the portlet has already existed in this category
+ List<Application> applications = load(category).getApplications();
+ boolean isExist = false;
+ for (Application application : applications)
+ {
+ if (application.getContentId().equals(contentId))
+ {
+ isExist = true;
+ break;
+ }
+ }
+
+ if (!isExist)
+ {
+ app = category.createContent(portletName, contentType, contentId);
+ app.setDisplayName(displayName);
+ app.setDescription(getLocalizedStringValue(descriptionLS, portletName));
+ app.setAccessPermissions(permissions);
+ }
}
}
}
Modified: portal/trunk/examples/extension/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties
===================================================================
--- portal/trunk/examples/extension/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/examples/extension/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties 2011-02-23 06:42:19 UTC (rev 5920)
@@ -17,4 +17,5 @@
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
#
-UIHomePagePortlet.Label.SampleRB.SampleKey=This is a new key from the new Resource Bundle "locale.portal.sample" of "sample-ext"
\ No newline at end of file
+UIHomePagePortlet.Label.SampleRB.SampleKey=This is a new key from the new Resource Bundle "locale.portal.sample" of "sample-ext"
+UIHomePagePortlet.Label.ExtendedHomePage=This is the Home Page of the "sample-ext" (skin has changed, new pages, customized resource bundles) :
\ No newline at end of file
Modified: portal/trunk/examples/extension/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl
===================================================================
--- portal/trunk/examples/extension/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/examples/extension/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl 2011-02-23 06:42:19 UTC (rev 5920)
@@ -4,7 +4,7 @@
<div class="UIHomePagePortlet" id="$uicomponent.id">
<div class="TRContainer">
<div class="PortletDecoration">
- <div class="GuideText">GateIn is the new generation of Open Source portal, jointly led by Red Hat and eXo Platform who partner to gather the best portal experts and communities around a robust and intuitive portal that brings rich administration functionalities to IT systems. <br /> This is the Home Page of the "sample-ext" (skin has changed, new pages, customized resource bundles) :</div>
+ <div class="GuideText"><%=_ctx.appRes("UIHomePagePortlet.Label.IntroText")%> <br /> <%=_ctx.appRes("UIHomePagePortlet.Label.ExtendedHomePage")%></div>
<a class="VersionIcon" href="http://www.jboss.org/gatein/" target="_blank"></a>
<div class="DotLine"><span></span></div>
<div class="GuideText"><%=_ctx.appRes("UIHomePagePortlet.Label.GuideText")%></div>
Modified: portal/trunk/examples/portal/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties
===================================================================
--- portal/trunk/examples/portal/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/examples/portal/war/src/main/webapp/WEB-INF/classes/locale/portal/sample_en.properties 2011-02-23 06:42:19 UTC (rev 5920)
@@ -17,4 +17,5 @@
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
#
-UIHomePagePortlet.Label.SampleRB.SampleKey=This is a new key from the new Resource Bundle "locale.portal.sample" of "sample-portal"
\ No newline at end of file
+UIHomePagePortlet.Label.SampleRB.SampleKey=This is a new key from the new Resource Bundle "locale.portal.sample" of "sample-portal"
+UIHomePagePortlet.Label.ExtendedHomePage=This is the Home Page of the "sample-portal" contained in gatein-sample-extension.ear/war, as you can see the skin has changed, we added new pages, we use our customized resource bundles as you can see below:
\ No newline at end of file
Modified: portal/trunk/examples/portal/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl
===================================================================
--- portal/trunk/examples/portal/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/examples/portal/war/src/main/webapp/templates/groovy/webui/component/UIHomePagePortlet.gtmpl 2011-02-23 06:42:19 UTC (rev 5920)
@@ -4,7 +4,7 @@
<div class="UIHomePagePortlet" id="$uicomponent.id">
<div class="TRContainer">
<div class="PortletDecoration">
- <div class="GuideText">This is the Home Page of the "sample-portal" contained in gatein-sample-extension.ear/war, as you can see the skin has changed, we added new pages, we use our customized resource bundles as you can see below:
+ <div class="GuideText"><%=_ctx.appRes("UIHomePagePortlet.Label.ExtendedHomePage")%>
<ul>
<li><b><%=_ctx.appRes("UIHomePagePortlet.Label.SampleKey")%></b></li>
<li><b><%=_ctx.appRes("UIHomePagePortlet.Label.SampleRB.SampleKey")%></b></li>
Modified: portal/trunk/pom.xml
===================================================================
--- portal/trunk/pom.xml 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/pom.xml 2011-02-23 06:42:19 UTC (rev 5920)
@@ -42,7 +42,7 @@
<org.exoplatform.ws.version>2.1.7-GA</org.exoplatform.ws.version>
<org.exoplatform.jcr.version>1.12.7-GA</org.exoplatform.jcr.version>
<org.jibx.version>1.2.1</org.jibx.version>
- <org.shindig.version>1.0-r790473-Patch04</org.shindig.version>
+ <org.shindig.version>1.0-r790473-Patch05</org.shindig.version>
<nl.captcha.simplecaptcha.version>1.1.1-GA-Patch01</nl.captcha.simplecaptcha.version>
<org.gatein.common.version>2.0.3-GA</org.gatein.common.version>
<org.gatein.wci.version>2.1.0-Alpha02</org.gatein.wci.version>
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIAddApplicationForm.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIAddApplicationForm.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIAddApplicationForm.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -265,23 +265,24 @@
return;
}
- UIFormRadioBoxInput uiRadio = uiForm.getUIInput("application");
- String displayName = uiForm.getUIStringInput(FIELD_NAME).getValue();
if (uiForm.getApplications().size() == 0)
{
ctx.getUIApplication().addMessage(new ApplicationMessage("UIAddApplicationForm.msg.appNotExists", null));
ctx.addUIComponentToUpdateByAjax(uiOrganizer);
return;
}
+ UIFormRadioBoxInput uiRadio = uiForm.getUIInput("application");
+ String displayName = uiForm.getUIStringInput(FIELD_NAME).getValue();
Application tmp = uiForm.getApplications().get(Integer.parseInt(uiRadio.getValue()));
-
+
// check portet name is exist
- if (appRegService.getApplication(selectedCate.getName(), tmp.getApplicationName()) != null)
+ for (Application application : appRegService.getApplications(selectedCate))
{
- WebuiRequestContext context = WebuiRequestContext.getCurrentInstance();
- UIApplication uiApp = context.getUIApplication();
- uiApp.addMessage(new ApplicationMessage("UIAddApplicationForm.msg.PortletExist", null));
- return;
+ if (application.getContentId().equals(tmp.getContentId()))
+ {
+ ctx.getUIApplication().addMessage(new ApplicationMessage("UIAddApplicationForm.msg.PortletExist", null));
+ return;
+ }
}
Application app = cloneApplication(tmp);
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -93,9 +93,12 @@
for (ApplicationCategory category : allCategories)
{
- if (appRegService.getApplication(category.getName(), portlet_.getName()) != null)
+ for (Application application : appRegService.getApplications(category))
{
- nameList.add(category.getDisplayName());
+ if (application.getContentId().equals(portlet_.getId()))
+ {
+ nameList.add(category.getDisplayName());
+ }
}
}
StringBuffer names = new StringBuffer("");
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_en.properties
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_en.properties 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_en.properties 2011-02-23 06:42:19 UTC (rev 5920)
@@ -16,4 +16,6 @@
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
#
-
+UIUserToolBarSitePortlet.header.site=Site
+UIUserToolBarGroupPortlet.header.group=Group
+UIUserToolBarDashboardPortlet.header.dashboard=Dashboard
\ No newline at end of file
Copied: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_fr.properties (from rev 5919, portal/branches/branch-GTNPORTAL-1790/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_fr.properties)
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_fr.properties (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_fr.properties 2011-02-23 06:42:19 UTC (rev 5920)
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2009 eXo Platform SAS.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+UIUserToolBarSitePortlet.header.site=Site
+UIUserToolBarGroupPortlet.header.group=Groupe
+UIUserToolBarDashboardPortlet.header.dashboard=Dashboard
Copied: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_vi.properties (from rev 5919, portal/branches/branch-GTNPORTAL-1790/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_vi.properties)
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_vi.properties (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/UserToolbarPortlet_vi.properties 2011-02-23 06:42:19 UTC (rev 5920)
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2009 eXo Platform SAS.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+UIUserToolBarSitePortlet.header.site=Site
+UIUserToolBarGroupPortlet.header.group=Nhóm
+UIUserToolBarDashboardPortlet.header.dashboard=Bảng điều khiển
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl 2011-02-23 06:42:19 UTC (rev 5920)
@@ -99,7 +99,7 @@
<div class="TabsContainer">
<div class="UITab NormalToolbarTab">
<div class="">
- <a class="DashboardIcon TBIcon" href="<%= uicomponent.url("AddDefaultDashboard", defaultDashboardPage); %>">Dashboard</a>
+ <a class="DashboardIcon TBIcon" href="<%= uicomponent.url("AddDefaultDashboard", defaultDashboardPage); %>"><%=_ctx.appRes("UIUserToolBarDashboardPortlet.header.dashboard")%></a>
</div>
</div>
</div>
@@ -114,7 +114,7 @@
<div class="TabsContainer" >
<div class="UITab NormalToolbarTab">
<div class="">
- <a class="DashboardIcon TBIcon" href="<%= portalURI + defaultDashboardPage %>">Dashboard</a>
+ <a class="DashboardIcon TBIcon" href="<%= portalURI + defaultDashboardPage %>"><%=_ctx.appRes("UIUserToolBarDashboardPortlet.header.dashboard")%></a>
</div>
<% renderDashboards(); %>
</div>
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl 2011-02-23 06:42:19 UTC (rev 5920)
@@ -87,7 +87,7 @@
<div class="TabsContainer">
<div class="UITab NormalToolbarTab">
<div class="">
- <a class="GroupIcon TBIcon" href="<%= portalURI + "groupnavigation" %>">Group</a>
+ <a class="GroupIcon TBIcon" href="<%= portalURI + "groupnavigation" %>"><%=_ctx.appRes("UIUserToolBarGroupPortlet.header.group")%></a>
</div>
<% if (!groupNavigations.isEmpty()) { %>
<div style="display:none" class="MenuItemContainer">
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl 2011-02-23 06:42:19 UTC (rev 5920)
@@ -130,7 +130,7 @@
<div class="UITab NormalToolbarTab">
<div class="">
<a class="SitesIcon TBIcon" href="<%= portalURI + "portalnavigation" %>">
- Site
+ <%=_ctx.appRes("UIUserToolBarSitePortlet.header.site")%>
</a>
</div>
<% renderPortalNavigations() %>
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/skin/applicationregistry/webui/component/UIApplicationRegistryPortlet/DefaultStylesheet.css
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/skin/applicationregistry/webui/component/UIApplicationRegistryPortlet/DefaultStylesheet.css 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/skin/applicationregistry/webui/component/UIApplicationRegistryPortlet/DefaultStylesheet.css 2011-02-23 06:42:19 UTC (rev 5920)
@@ -483,7 +483,7 @@
/******************************** UIGadgetManagement ******************************/
.UIApplicationRegistryPortlet .UIGadgetManagement .PortletIcons {
- width: 150px; height: 120px;
+ width: 150px;
padding-top: 20px; text-align: center;
}
Modified: portal/trunk/portlet/web/src/main/webapp/skin/portal/webui/component/UILogoPortlet/DefaultStylesheet.css
===================================================================
--- portal/trunk/portlet/web/src/main/webapp/skin/portal/webui/component/UILogoPortlet/DefaultStylesheet.css 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/portlet/web/src/main/webapp/skin/portal/webui/component/UILogoPortlet/DefaultStylesheet.css 2011-02-23 06:42:19 UTC (rev 5920)
@@ -75,7 +75,7 @@
}
.UILogoPortlet a:hover {
- color: #e7e7e7;
+ color: #058ee6;
}
.UILogoPortlet .Name {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/ExoBasedUserPrefStore.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/ExoBasedUserPrefStore.js 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/ExoBasedUserPrefStore.js 2011-02-23 06:42:19 UTC (rev 5920)
@@ -31,6 +31,7 @@
gadgets.ExoBasedUserPrefStore.prototype.savePrefs = function(gadget, newPrefs) {
//TODO: dang.tung - sent event to portal
var prefs = eXo.core.JSON.stringify(newPrefs || gadget.userPrefs_);
+ prefs = encodeURIComponent(prefs);
var DOMUtil = eXo.core.DOMUtil;
var gadget = document.getElementById("gadget_" + gadget.id) ;
if(gadget != null ) {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js 2011-02-23 06:42:19 UTC (rev 5920)
@@ -762,26 +762,16 @@
}
}
this.setUserPrefs(prefs);
+ this.refresh();
};
-gadgets.IfrGadget.prototype.setUserPrefs = function(newUserPrefs) {
- gadgets.IfrGadget.superClass_.setUserPrefs.call(this, newUserPrefs);
- this.refresh();
-};
-
-gadgets.IfrGadget.prototype.setUserPref = function(name, value) {
- gadgets.IfrGadget.superClass_.setUserPref.call(this, name, value);
- this.refresh();
-};
-
gadgets.IfrGadget.prototype.handleCancelUserPrefs = function() {
this.hideUserPrefsDialog();
};
gadgets.IfrGadget.prototype.refresh = function() {
var iframeId = this.getIframeId();
- if (document.getElementById(iframeId))
- document.getElementById(iframeId).src = this.getIframeUrl();
+ document.getElementById(iframeId).src = this.getIframeUrl();
};
Modified: portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIAction/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIAction/Stylesheet.css 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIAction/Stylesheet.css 2011-02-23 06:42:19 UTC (rev 5920)
@@ -124,18 +124,32 @@
padding: 0px 4px;
}
-.UIAction .SimpleStyle1 .ButtonMiddle .PageProfileIcon {
- background: transparent url(background/PageProfileIcon.gif) no-repeat left; /* orientation=lt */
- background: transparent url(background/PageProfileIcon.gif) no-repeat right; /* orientation=rt */
- line-height: 20px;
- padding-left: 22px; /* orientation=lt */
- padding-right: 22px; /* orientation=rt */
-}
-
-.UIAction .SimpleStyle1 .ButtonMiddle .ViewAsBlockIcon {
- background: transparent url(background/ViewAsBlockIcon.gif) no-repeat left; /* orientation=lt */
- background: transparent url(background/ViewAsBlockIcon.gif) no-repeat right; /* orientation=rt */
- line-height: 20px;
- padding-left: 22px; /* orientation=lt */
- padding-right: 22px; /* orientation=rt */
+.UIAction .SimpleStyle1 .ButtonMiddle .PageProfileIcon {
+ background: transparent url(background/PageProfileIcon.gif) no-repeat left; /* orientation=lt */
+ background: transparent url(background/PageProfileIcon.gif) no-repeat right; /* orientation=rt */
+ line-height: 20px;
+ padding-left: 22px; /* orientation=lt */
+ padding-right: 22px; /* orientation=rt */
+ white-space: nowrap;
}
+
+.UIAction .SimpleStyle1 .ButtonMiddle .ViewAsBlockIcon {
+ background: transparent url(background/ViewAsBlockIcon.gif) no-repeat left; /* orientation=lt */
+ background: transparent url(background/ViewAsBlockIcon.gif) no-repeat right; /* orientation=rt */
+ line-height: 20px;
+ padding-left: 22px; /* orientation=lt */
+ padding-right: 22px; /* orientation=rt */
+ white-space: nowrap;
+}
+
+.UIAction .portlet-form-button {
+ -moz-border-radius: 0px;
+ background: none;
+ border: none;
+ display: block;
+ line-height: auto;
+ margin: 0px 3px;
+ padding: 0px;
+ text-align: center;
+ white-space: nowrap;
+}
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -450,9 +450,9 @@
List<String> markupHeaders = new ArrayList<String>();
if (extraMarkupHeaders != null && !extraMarkupHeaders.isEmpty())
{
- StringWriter sw = new StringWriter();
for (Element element : extraMarkupHeaders)
{
+ StringWriter sw = new StringWriter();
DOMSerializer.serialize(element, sw);
markupHeaders.add(sw.toString());
}
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -935,10 +935,12 @@
{
producedOfferedPortlet = portletInvoker.getPortlet(producerOfferedPortletContext);
}
- catch (NoSuchPortletException nspe)
+ catch (Exception exp)
{
+ // Whenever couldn't invoke the portlet object, set the request portlet to null for the error tobe
+ // properly handled and displayed when the portlet is rendered
producedOfferedPortlet = null;
- nspe.printStackTrace();
+ exp.printStackTrace();
}
this.adapter = adapter;
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -303,6 +303,10 @@
markup = Text.create(context.getApplicationResourceBundle().getString("UIPortlet.message.RuntimeError"));
}
}
+ else
+ {
+ uicomponent.setConfiguredTitle(null);
+ }
}
}
catch (Exception e)
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java 2011-02-22 15:47:32 UTC (rev 5919)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java 2011-02-23 06:42:19 UTC (rev 5920)
@@ -419,23 +419,29 @@
RemindPasswordTokenService tokenService = uiPortal.getApplicationComponent(RemindPasswordTokenService.class);
String tokenId = event.getRequestContext().getRequestParameter("tokenId");
+ WebuiRequestContext requestContext = event.getRequestContext();
GateInToken token = tokenService.getToken(tokenId);
if (token == null)
{
- WebuiRequestContext requestContext = event.getRequestContext();
requestContext.getUIApplication()
.addMessage(new ApplicationMessage("UIForgetPassword.msg.expration", null));
requestContext.addUIComponentToUpdateByAjax(uiPortal.getParent());
return;
}
- UIPortalApplication uiApp = uiPortal.getAncestorOfType(UIPortalApplication.class);
- UIMaskWorkspace uiMaskWS = uiApp.getChildById(UIPortalApplication.UI_MASK_WS_ID);
-
OrganizationService orgSrc = uiPortal.getApplicationComponent(OrganizationService.class);
// get user
User user = orgSrc.getUserHandler().findUserByName(token.getPayload().getUsername());
+ if (user == null)
+ {
+ requestContext.getUIApplication()
+ .addMessage(new ApplicationMessage("UIForgetPassword.msg.user-delete", null));
+ return;
+ }
+ UIPortalApplication uiApp = uiPortal.getAncestorOfType(UIPortalApplication.class);
+ UIMaskWorkspace uiMaskWS = uiApp.getChildById(UIPortalApplication.UI_MASK_WS_ID);
+
UIResetPassword uiReset = uiMaskWS.createUIComponent(UIResetPassword.class, null, null);
uiReset.setUser(user);
uiReset.setTokenId(tokenId);
13 years, 10 months
gatein SVN: r5919 - portal/trunk/packaging.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2011-02-22 10:47:32 -0500 (Tue, 22 Feb 2011)
New Revision: 5919
Removed:
portal/trunk/packaging/profiles.xml.template
Modified:
portal/trunk/packaging/profiles.xml
Log:
Keep supporting -Ppkg-jbossas as before, profile isn't updated and probably not used
Modified: portal/trunk/packaging/profiles.xml
===================================================================
--- portal/trunk/packaging/profiles.xml 2011-02-22 11:10:24 UTC (rev 5918)
+++ portal/trunk/packaging/profiles.xml 2011-02-22 15:47:32 UTC (rev 5919)
@@ -55,6 +55,11 @@
-->
<exo.projects.app.jboss5.version>jboss-5.1.0.GA</exo.projects.app.jboss5.version>
<!--
+ Deprecated, just here for -Ppkg-jboss to keep working, please use -Ppkg-jbossas5 instead
+ -->
+ <exo.projects.app.jboss.version>${exo.projects.app.jboss5.version}</exo.projects.app.jboss.version>
+
+ <!--
Replace with the name of the directory containing JBoss AS 6
-->
<exo.projects.app.jboss6.version>jboss-6.0.0.Final</exo.projects.app.jboss6.version>
Deleted: portal/trunk/packaging/profiles.xml.template
===================================================================
--- portal/trunk/packaging/profiles.xml.template 2011-02-22 11:10:24 UTC (rev 5918)
+++ portal/trunk/packaging/profiles.xml.template 2011-02-22 15:47:32 UTC (rev 5919)
@@ -1,57 +0,0 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-
-<profilesXml>
- <profiles>
- <profile>
- <id>gatein-projects</id>
- <properties>
- <!--
- Replace with the directory where uncompressed Tomcat 6 and/or JBoss 5.1 can be found
- ex: On Windows 'c:/AS'
- ex: On Linux '/home/user/AS'
- -->
- <exo.projects.directory.dependencies>REPLACE_WITH_YOUR_OWN_DIRECTORY</exo.projects.directory.dependencies>
-
- <!--
- If you want that the server is deployed always at the same place (not in packaging/pkg/target/<server> dir)
- Uncomment and Replace with the directory you prefer
- -->
- <!--
- <gatein.working.dir>REPLACE_WITH_SERVER_DIR</gatein.working.dir>
- -->
-
- <!--
- Replace with the name of the directory containing Tomcat 6
- -->
- <exo.projects.app.tomcat.version>apache-tomcat-6.0.20</exo.projects.app.tomcat.version>
- <!--
- Replace with the name of the directory containing JBoss AS 5.1
- -->
- <exo.projects.app.jboss.version>jboss-5.1.0.GA</exo.projects.app.jboss.version>
- </properties>
- </profile>
- </profiles>
-
- <activeProfiles>
- <activeProfile>gatein-projects</activeProfile>
- </activeProfiles>
-</profilesXml>
13 years, 10 months
gatein SVN: r5918 - in components/wci/trunk: jetty/src/main/java/org/gatein/wci/jetty and 13 other directories.
by do-not-reply@jboss.org
Author: alain_defrance
Date: 2011-02-22 06:10:24 -0500 (Tue, 22 Feb 2011)
New Revision: 5918
Added:
components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/TestController.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/security/WCIController.java
Removed:
components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationResult.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthenticationResult.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/ProgrammaticAuthenticationResult.java
Modified:
components/wci/trunk/jboss/jboss6/src/main/java/org/gatein/wci/jboss/JB6ServletContainerContext.java
components/wci/trunk/jetty/src/main/java/org/gatein/wci/jetty/Jetty6ServletContainerContext.java
components/wci/trunk/test/core/src/main/java/org/gatein/wci/container/ServletContainerContextImpl.java
components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/SPIAuthenticationTestCase.java
components/wci/trunk/test/servers/jetty6/pom.xml
components/wci/trunk/test/servers/pom.xml
components/wci/trunk/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java
components/wci/trunk/tomcat/tomcat7/src/main/java/org/gatein/wci/tomcat/TC7ServletContainerContext.java
components/wci/trunk/wci/src/main/doc/wci-authentication.odp
components/wci/trunk/wci/src/main/doc/wci-authentication.pdf
components/wci/trunk/wci/src/main/java/org/gatein/wci/ServletContainer.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationEvent.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthentication.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/TicketService.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/DefaultServletContainer.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/generic/GenericServletContainerContext.java
components/wci/trunk/wci/src/main/java/org/gatein/wci/spi/ServletContainerContext.java
Log:
GTNPORTAL-1808 : Move some code from gatein authentication (InitialeLoginServlet & ErrorLoginServlet) to wci authentication (Create WCIController)
Modified: components/wci/trunk/jboss/jboss6/src/main/java/org/gatein/wci/jboss/JB6ServletContainerContext.java
===================================================================
--- components/wci/trunk/jboss/jboss6/src/main/java/org/gatein/wci/jboss/JB6ServletContainerContext.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/jboss/jboss6/src/main/java/org/gatein/wci/jboss/JB6ServletContainerContext.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -35,10 +35,7 @@
import org.gatein.common.logging.Logger;
import org.gatein.common.logging.LoggerFactory;
import org.gatein.wci.RequestDispatchCallback;
-import org.gatein.wci.authentication.AuthenticationResult;
import org.gatein.wci.authentication.GenericAuthentication;
-import org.gatein.wci.authentication.GenericAuthenticationResult;
-import org.gatein.wci.authentication.ProgrammaticAuthenticationResult;
import org.gatein.wci.authentication.TicketService;
import org.gatein.wci.command.CommandDispatcher;
import org.gatein.wci.impl.DefaultServletContainerFactory;
@@ -78,6 +75,9 @@
/** . */
private Registration registration;
+ /** . */
+ private GenericAuthentication authentication = new GenericAuthentication();
+
public JB6ServletContainerContext(Engine engine)
{
this.engine = engine;
@@ -99,21 +99,30 @@
this.registration = null;
}
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName,
- String password, long validityMillis) throws ServletException
- {
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws ServletException, IOException
+ {
+ login(request, response, credentials, validityMillis, null);
+ }
+
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws ServletException, IOException
+ {
+ if (initialURI == null)
+ {
+ initialURI = request.getRequestURI();
+ }
try
{
- request.login(userName, password);
+ request.login(credentials.getUsername(), credentials.getPassword());
+ response.sendRedirect(response.encodeRedirectURL(initialURI));
}
catch (ServletException se)
{
se.printStackTrace();
try
{
- String ticket = GenericAuthentication.TICKET_SERVICE.createTicket(new Credentials(userName, password),
+ String ticket = GenericAuthentication.TICKET_SERVICE.createTicket(new Credentials(credentials.getUsername(), credentials.getUsername()),
TicketService.DEFAULT_VALIDITY);
- String url = "j_security_check?j_username=" + userName + "&j_password=" + ticket;
+ String url = "j_security_check?j_username=" + credentials.getUsername() + "&j_password=" + ticket + "&initialURI=" + initialURI;
url = response.encodeRedirectURL(url);
response.sendRedirect(url);
response.flushBuffer();
@@ -121,10 +130,8 @@
catch (Exception ignore)
{
}
- return null;
}
- return new ProgrammaticAuthenticationResult();
- }
+ }
public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException
{
@@ -132,6 +139,11 @@
request.getSession().invalidate();
}
+ public String getContainerInfo()
+ {
+ return "JBossas/6.x";
+ }
+
public synchronized void containerEvent(ContainerEvent event)
{
if (event.getData() instanceof Host)
Modified: components/wci/trunk/jetty/src/main/java/org/gatein/wci/jetty/Jetty6ServletContainerContext.java
===================================================================
--- components/wci/trunk/jetty/src/main/java/org/gatein/wci/jetty/Jetty6ServletContainerContext.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/jetty/src/main/java/org/gatein/wci/jetty/Jetty6ServletContainerContext.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -10,10 +10,10 @@
import javax.servlet.http.HttpServletResponse;
import org.gatein.wci.RequestDispatchCallback;
-import org.gatein.wci.authentication.AuthenticationResult;
import org.gatein.wci.authentication.GenericAuthentication;
import org.gatein.wci.command.CommandDispatcher;
import org.gatein.wci.impl.DefaultServletContainerFactory;
+import org.gatein.wci.security.Credentials;
import org.gatein.wci.spi.ServletContainerContext;
import org.mortbay.component.Container;
import org.mortbay.component.LifeCycle;
@@ -31,6 +31,9 @@
private Container container;
private Server server;
private ContextHandlerCollection chc;
+
+ /** . */
+ private GenericAuthentication authentication = new GenericAuthentication();
/** The monitored contexts. */
private final Set<String> monitoredContexts = new HashSet<String>();
@@ -49,7 +52,7 @@
HttpServletRequest request, HttpServletResponse response,
RequestDispatchCallback callback, Object handback)
throws ServletException, IOException
- {
+ {
return dispatcher.include(targetServletContext, request, response,
callback, handback);
}
@@ -62,17 +65,27 @@
this.registration = null;
}
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws IOException
{
- return GenericAuthentication.getInstance().login(userName, password, request, response, validityMillis);
+ authentication.login(credentials, request, response, validityMillis, null);
}
- public void logout(HttpServletRequest request, HttpServletResponse response)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws IOException
{
- GenericAuthentication.getInstance().logout(request, response);
+ authentication.login(credentials, request, response, validityMillis, initialURI);
}
- public void start()
+ public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException
+ {
+ authentication.logout(request, response);
+ }
+
+ public String getContainerInfo()
+ {
+ return "Jetty/6.x";
+ }
+
+ public void start()
{
DefaultServletContainerFactory.registerContext(this);
Modified: components/wci/trunk/test/core/src/main/java/org/gatein/wci/container/ServletContainerContextImpl.java
===================================================================
--- components/wci/trunk/test/core/src/main/java/org/gatein/wci/container/ServletContainerContextImpl.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/test/core/src/main/java/org/gatein/wci/container/ServletContainerContextImpl.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.gatein.wci.container;
-import org.gatein.wci.authentication.AuthenticationResult;
+import org.gatein.wci.security.Credentials;
import org.gatein.wci.spi.ServletContainerContext;
import org.gatein.wci.RequestDispatchCallback;
@@ -61,13 +61,23 @@
this.registration = null;
}
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis)
{
throw new UnsupportedOperationException();
-}
+ }
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI)
+ {
+ throw new UnsupportedOperationException();
+ }
+
public void logout(HttpServletRequest request, HttpServletResponse response)
{
throw new UnsupportedOperationException();
}
+
+ public String getContainerInfo()
+ {
+ return "Impl";
+ }
}
Modified: components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/SPIAuthenticationTestCase.java
===================================================================
--- components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/SPIAuthenticationTestCase.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/SPIAuthenticationTestCase.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -27,13 +27,11 @@
import org.gatein.wci.authentication.AuthenticationEvent;
import org.gatein.wci.authentication.AuthenticationException;
import org.gatein.wci.authentication.AuthenticationListener;
-import org.gatein.wci.authentication.AuthenticationResult;
import org.gatein.wci.authentication.GenericAuthentication;
-import org.gatein.wci.authentication.GenericAuthenticationResult;
-import org.gatein.wci.authentication.ProgrammaticAuthenticationResult;
import org.gatein.wci.authentication.TicketService;
import org.gatein.wci.security.Credentials;
import org.gatein.wci.impl.DefaultServletContainerFactory;
+import org.gatein.wci.security.WCIController;
import org.jboss.unit.Failure;
import org.jboss.unit.driver.DriverCommand;
import org.jboss.unit.driver.DriverResponse;
@@ -45,6 +43,8 @@
import javax.servlet.ServletException;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
@@ -52,8 +52,6 @@
*/
public class SPIAuthenticationTestCase extends ServletTestCase
{
- private final String username = "foo";
- private final String password = "bar";
/** . */
private ServletContainer container;
@@ -62,100 +60,109 @@
private final Value v = new Value();
/** . */
- private AuthenticationResult result;
+ private WCIController wciController = new TestController();
@Override
public DriverResponse service(TestServlet testServlet, WebRequest req, WebResponse resp) throws ServletException, IOException
{
+ Credentials credentials = wciController.getCredentials(req, resp);
+
if (getRequestCount() == 0)
{
+ assertEquals("/home", wciController.getInitialURI(req));
+ req.setAttribute("javax.servlet.forward.request_uri", "/foo");
+ assertEquals("/foo", wciController.getInitialURI(req));
+
+ // Test Ticket Expiration
+ String expireTicket = GenericAuthentication.TICKET_SERVICE.createTicket(new Credentials("foo", "bar"), 5);
+ boolean expired = false;
+ try
+ {
+ Thread.sleep(5);
+ GenericAuthentication.TICKET_SERVICE.validateTicket(expireTicket, true);
+ }
+ catch (InterruptedException ignore)
+ {
+ }
+ catch (AuthenticationException ae)
+ {
+ expired = true;
+ }
+ if (!expired) return new FailureResponse(Failure.createAssertionFailure(""));
+
assertNull(req.getUserPrincipal());
container = DefaultServletContainerFactory.getInstance().getServletContainer();
container.addAuthenticationListener(new TestListener(v));
assertEquals("", v.value);
- result = container.login(req, resp, username, password, TicketService.DEFAULT_VALIDITY);
- assertNotNull(result);
- if (result instanceof GenericAuthenticationResult)
+ container.login(req, resp, credentials, TicketService.DEFAULT_VALIDITY);
+
+ if ("Tomcat/7.x".equals(container.getContainerInfo()) || "JBossas/6.x".equals(container.getContainerInfo()))
{
- GenericAuthenticationResult gAuthentication = (GenericAuthenticationResult) result;
- // Test Ticket Expiration
- GenericAuthentication.getInstance();
- String expireTicket = GenericAuthentication.TICKET_SERVICE.createTicket(new Credentials("foo", "bar"), 5);
- boolean expired = false;
- try
- {
- Thread.sleep(5);
- GenericAuthentication.TICKET_SERVICE.validateTicket(expireTicket, true);
- }
- catch (InterruptedException ignore)
- {
- }
- catch (AuthenticationException ae)
- {
- expired = true;
- }
- if (!expired) return new FailureResponse(Failure.createAssertionFailure(""));
-
-
+ assertEquals("login", v.value);
+ assertNotNull(req.getUserPrincipal());
+ assertTrue(req.isUserInRole("test"));
+ }
+ else
+ {
// Test Ticket Service
- Credentials srcCredentials = new Credentials(username, password);
- String ticket = GenericAuthentication.TICKET_SERVICE.createTicket(srcCredentials, TicketService.DEFAULT_VALIDITY);
+ String ticket = GenericAuthentication.TICKET_SERVICE.createTicket(credentials, TicketService.DEFAULT_VALIDITY);
Credentials resultCredentials = GenericAuthentication.TICKET_SERVICE.validateTicket(ticket, false);
- assertEquals(srcCredentials.getUsername(), resultCredentials.getUsername());
- assertEquals(srcCredentials.getPassword(), resultCredentials.getPassword());
+ assertEquals(credentials.getUsername(), resultCredentials.getUsername());
+ assertEquals(credentials.getPassword(), resultCredentials.getPassword());
assertNotNull(GenericAuthentication.TICKET_SERVICE.validateTicket(ticket, true));
assertNull(GenericAuthentication.TICKET_SERVICE.validateTicket(ticket, true));
- // Test Generic login
- GenericAuthenticationResult gResult = (GenericAuthenticationResult) result;
- String t = gResult.getTicket();
- Credentials credentials = GenericAuthentication.TICKET_SERVICE.validateTicket(t, true);
- assertNotNull(credentials);
- assertEquals("", v.value);
- gAuthentication.perform(req, resp);
-
// Test login Event
assertEquals("login", v.value);
assertTrue(resp.isCommitted());
-
}
- else if (result instanceof ProgrammaticAuthenticationResult)
- {
- assertEquals("login", v.value);
- assertNotNull(req.getUserPrincipal());
- assertTrue(req.isUserInRole("test"));
- }
//
- String url = resp.renderURL("/", null, null);
+ Map<String, String[]> params = new HashMap<String, String[]>();
+ params.put("initialURI", new String[]{"/bar"});
+ String url = resp.renderURL("/", params, null);
return new InvokeGetResponse(url);
}
else if (getRequestCount() == 1)
{
- if (result instanceof GenericAuthenticationResult)
+ assertEquals("/bar", wciController.getInitialURI(req));
+
+ if ("Tomcat/7.x".equals(container.getContainerInfo()) || "JBossas/6.x".equals(container.getContainerInfo()))
{
- // Test logout
- assertNotNull(req.getSession(false));
assertEquals("login", v.value);
+
container.logout(req, resp);
- assertNull(req.getSession(false));
- // Test logout Event
assertEquals("logout", v.value);
+ assertNull(req.getUserPrincipal());
}
- else if (result instanceof ProgrammaticAuthenticationResult)
+ else
{
+ // Test logout
+ assertNotNull(req.getSession(false));
assertEquals("login", v.value);
-
container.logout(req, resp);
+ assertNull(req.getSession(false));
+ // Test logout Event
assertEquals("logout", v.value);
- assertNull(req.getUserPrincipal());
}
+
+ String url = resp.renderURL("/", null, null);
+ return new InvokeGetResponse(url);
+ }
+ else if (getRequestCount() == 2)
+ {
+ assertEquals(
+ "/home/j_security_check?j_username=foo&j_password=bar",
+ wciController.getAuthURI(req, resp, credentials.getUsername(), credentials.getPassword())
+ );
+ wciController.sendAuth(req, resp, credentials.getUsername(), credentials.getPassword());
+ assertTrue(resp.isCommitted());
return new EndTestResponse();
}
- return new FailureResponse(Failure.createAssertionFailure(""));
+ return new FailureResponse(Failure.createAssertionFailure("End test reached"));
}
@Override
Added: components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/TestController.java
===================================================================
--- components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/TestController.java (rev 0)
+++ components/wci/trunk/test/core/src/main/java/org/gatein/wci/spi/TestController.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -0,0 +1,57 @@
+/*
+* Copyright (C) 2003-2009 eXo Platform SAS.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+package org.gatein.wci.spi;
+
+import org.gatein.wci.security.Credentials;
+import org.gatein.wci.security.WCIController;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
+ * @version $Revision$
+ */
+public class TestController extends WCIController
+{
+ @Override
+ public void showLoginForm(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException
+ {
+ }
+
+ @Override
+ public void showErrorLoginForm(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException
+ {
+ }
+
+ @Override
+ public Credentials getCredentials(final HttpServletRequest req, final HttpServletResponse resp)
+ {
+ return new Credentials("foo", "bar");
+ }
+
+ @Override
+ public String getHomeURI(final HttpServletRequest req)
+ {
+ return "/home";
+ }
+}
Modified: components/wci/trunk/test/servers/jetty6/pom.xml
===================================================================
--- components/wci/trunk/test/servers/jetty6/pom.xml 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/test/servers/jetty6/pom.xml 2011-02-22 11:10:24 UTC (rev 5918)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.gatein.wci</groupId>
<artifactId>wci-test-server-parent</artifactId>
- <version>2.1.0-Beta01-SNAPSHOT</version>
+ <version>2.1.0-Alpha04-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wci-test-jetty6</artifactId>
Modified: components/wci/trunk/test/servers/pom.xml
===================================================================
--- components/wci/trunk/test/servers/pom.xml 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/test/servers/pom.xml 2011-02-22 11:10:24 UTC (rev 5918)
@@ -65,9 +65,9 @@
<modules>
<module>tomcat6</module>
<module>tomcat7</module>
- <module>jboss42</module>
<module>jboss51</module>
<module>jboss6</module>
+ <module>jetty6</module>
</modules>
</profile>
<profile>
@@ -77,7 +77,6 @@
<module>tomcat7</module>
<module>jboss42</module>
<module>jboss51</module>
- <module>jboss6</module>
<module>jetty6</module>
</modules>
</profile>
Modified: components/wci/trunk/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java
===================================================================
--- components/wci/trunk/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/tomcat/tomcat6/src/main/java/org/gatein/wci/tomcat/TC6ServletContainerContext.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -34,10 +34,10 @@
import org.gatein.common.logging.Logger;
import org.gatein.common.logging.LoggerFactory;
import org.gatein.wci.RequestDispatchCallback;
-import org.gatein.wci.authentication.AuthenticationResult;
import org.gatein.wci.authentication.GenericAuthentication;
import org.gatein.wci.command.CommandDispatcher;
import org.gatein.wci.impl.DefaultServletContainerFactory;
+import org.gatein.wci.security.Credentials;
import org.gatein.wci.spi.ServletContainerContext;
import org.apache.catalina.core.StandardContext;
@@ -74,6 +74,9 @@
/** . */
private Registration registration;
+ /** . */
+ private GenericAuthentication authentication = new GenericAuthentication();
+
public TC6ServletContainerContext(Engine engine)
{
this.engine = engine;
@@ -99,16 +102,26 @@
this.registration = null;
}
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws IOException
{
- return GenericAuthentication.getInstance().login(userName, password, request, response, validityMillis);
+ authentication.login(credentials, request, response, validityMillis);
}
- public void logout(HttpServletRequest request, HttpServletResponse response)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws IOException
{
- GenericAuthentication.getInstance().logout(request, response);
+ authentication.login(credentials, request, response, validityMillis, initialURI);
}
+ public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException
+ {
+ authentication.logout(request, response);
+ }
+
+ public String getContainerInfo()
+ {
+ return "Tomcat/6.x";
+ }
+
public synchronized void containerEvent(ContainerEvent event)
{
if (event.getData() instanceof Host)
Modified: components/wci/trunk/tomcat/tomcat7/src/main/java/org/gatein/wci/tomcat/TC7ServletContainerContext.java
===================================================================
--- components/wci/trunk/tomcat/tomcat7/src/main/java/org/gatein/wci/tomcat/TC7ServletContainerContext.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/tomcat/tomcat7/src/main/java/org/gatein/wci/tomcat/TC7ServletContainerContext.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -36,10 +36,7 @@
import org.gatein.common.logging.Logger;
import org.gatein.common.logging.LoggerFactory;
import org.gatein.wci.RequestDispatchCallback;
-import org.gatein.wci.authentication.AuthenticationResult;
import org.gatein.wci.authentication.GenericAuthentication;
-import org.gatein.wci.authentication.GenericAuthenticationResult;
-import org.gatein.wci.authentication.ProgrammaticAuthenticationResult;
import org.gatein.wci.authentication.TicketService;
import org.gatein.wci.command.CommandDispatcher;
import org.gatein.wci.impl.DefaultServletContainerFactory;
@@ -104,18 +101,28 @@
this.registration = null;
}
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis) throws ServletException
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws ServletException, IOException
{
+ login(request, response, credentials, validityMillis, null);
+ }
+
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws ServletException, IOException
+ {
+ if (initialURI == null)
+ {
+ initialURI = request.getRequestURI();
+ }
try
{
- request.login(userName, password);
+ request.login(credentials.getUsername(), credentials.getPassword());
+ response.sendRedirect(response.encodeRedirectURL(initialURI));
}
catch (ServletException se)
{
try
{
- String ticket = GenericAuthentication.TICKET_SERVICE.createTicket(new Credentials(userName, password), TicketService.DEFAULT_VALIDITY);
- String url = "j_security_check?j_username=" + userName + "&j_password=" + ticket;
+ String ticket = GenericAuthentication.TICKET_SERVICE.createTicket(new Credentials(credentials.getUsername(), credentials.getPassword()), TicketService.DEFAULT_VALIDITY);
+ String url = "j_security_check?j_username=" + credentials.getUsername() + "&j_password=" + ticket + "&initialURI=" + initialURI;
url = response.encodeRedirectURL(url);
response.sendRedirect(url);
response.flushBuffer();
@@ -123,9 +130,7 @@
catch (Exception ignore)
{
}
- return null;
}
- return new ProgrammaticAuthenticationResult();
}
public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException
@@ -134,8 +139,13 @@
request.getSession().invalidate();
}
- public synchronized void containerEvent(ContainerEvent event)
+ public String getContainerInfo()
{
+ return "Tomcat/7.x";
+ }
+
+ public synchronized void containerEvent(ContainerEvent event)
+ {
if (event.getData() instanceof Host)
{
Host host = (Host)event.getData();
Modified: components/wci/trunk/wci/src/main/doc/wci-authentication.odp
===================================================================
(Binary files differ)
Modified: components/wci/trunk/wci/src/main/doc/wci-authentication.pdf
===================================================================
(Binary files differ)
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/ServletContainer.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/ServletContainer.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/ServletContainer.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -23,7 +23,7 @@
package org.gatein.wci;
import org.gatein.wci.authentication.AuthenticationListener;
-import org.gatein.wci.authentication.AuthenticationResult;
+import org.gatein.wci.security.Credentials;
import org.gatein.wci.spi.ServletContainerContext;
import javax.servlet.ServletContext;
@@ -99,17 +99,25 @@
*
* @param request the request valid in the current servlet context
* @param response the response valid in the current servlet context
- * @param userName the username which try to login
- * @param password the password of the username
+ * @param credentials the credentials which try to authenticate
*/
- AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis) throws ServletException;
+ void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws ServletException, IOException;
/**
* Authentication support.
*
* @param request the request valid in the current servlet context
* @param response the response valid in the current servlet context
+ * @param credentials the credentials which try to authenticate
*/
+ void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws ServletException, IOException;
+
+ /**
+ * Authentication support.
+ *
+ * @param request the request valid in the current servlet context
+ * @param response the response valid in the current servlet context
+ */
void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException;
/**
@@ -125,4 +133,16 @@
* @param listener AuthenticationListener to remove
*/
void removeAuthenticationlistener(AuthenticationListener listener);
+
+ /**
+ * Returns the name and version of the servlet container in which the
+ * context is running.
+ *
+ * <P>
+ * The form of the returned string is <code>containername/versionnumber</code>.
+ *
+ *
+ * @return the string containing at least name and version number
+ */
+ public String getContainerInfo();
}
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationEvent.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationEvent.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationEvent.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -19,7 +19,9 @@
package org.gatein.wci.authentication;
+import org.gatein.wci.ServletContainer;
import org.gatein.wci.security.Credentials;
+import org.gatein.wci.spi.ServletContainerContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -33,8 +35,9 @@
private final HttpServletRequest request;
private final HttpServletResponse response;
private final Credentials credentials;
+ private final ServletContainerContext containerContext;
- public AuthenticationEvent(HttpServletRequest request, HttpServletResponse response)
+ public AuthenticationEvent(HttpServletRequest request, HttpServletResponse response, ServletContainerContext containerContext)
{
if (request == null)
@@ -47,12 +50,18 @@
throw new IllegalArgumentException("response is null");
}
+ if (containerContext == null)
+ {
+ throw new IllegalArgumentException("containerContext is null");
+ }
+
this.request = request;
this.response = response;
this.credentials = null;
+ this.containerContext = containerContext;
}
- public AuthenticationEvent(HttpServletRequest request, HttpServletResponse response, Credentials credentials)
+ public AuthenticationEvent(HttpServletRequest request, HttpServletResponse response, Credentials credentials, ServletContainerContext containerContext)
{
if (request == null)
@@ -70,9 +79,15 @@
throw new IllegalArgumentException("credentials is null");
}
+ if (containerContext == null)
+ {
+ throw new IllegalArgumentException("container is null");
+ }
+
this.request = request;
this.response = response;
this.credentials = credentials;
+ this.containerContext = containerContext;
}
public HttpServletRequest getRequest()
@@ -89,4 +104,9 @@
{
return credentials;
}
+
+ public ServletContainerContext getContainerContext()
+ {
+ return containerContext;
+ }
}
Deleted: components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationResult.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationResult.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/AuthenticationResult.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -1,28 +0,0 @@
-/*
-* Copyright (C) 2003-2009 eXo Platform SAS.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
-package org.gatein.wci.authentication;
-
-/**
- * @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
- * @version $Revision$
- */
-public abstract class AuthenticationResult
-{
-}
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthentication.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthentication.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthentication.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -19,10 +19,13 @@
package org.gatein.wci.authentication;
+import org.gatein.wci.impl.DefaultServletContainer;
+import org.gatein.wci.impl.DefaultServletContainerFactory;
import org.gatein.wci.security.Credentials;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
/**
* @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
@@ -31,23 +34,29 @@
public class GenericAuthentication
{
public static final TicketService TICKET_SERVICE = new TicketService();
- private static final GenericAuthentication GENERIC_AUTHENTICATION = new GenericAuthentication();
- private GenericAuthentication() {}
+ public void login(Credentials credentials, HttpServletRequest request, HttpServletResponse response, long validityMillis) throws IOException
+ {
+ login(credentials, request, response, validityMillis, null);
+ }
- public AuthenticationResult login(String login, String password, HttpServletRequest request, HttpServletResponse response, long validityMillis)
+ public void login(Credentials credentials, HttpServletRequest request, HttpServletResponse response, long validityMillis, String initialURI) throws IOException
{
- String ticket = TICKET_SERVICE.createTicket(new Credentials(login, password), validityMillis);
+ String ticket = TICKET_SERVICE.createTicket(new Credentials(credentials.getUsername(), credentials.getPassword()), validityMillis);
- return new GenericAuthenticationResult(login, ticket);
+ request.getSession().removeAttribute(Credentials.CREDENTIALS);
+
+ if (initialURI == null) {
+ initialURI = request.getRequestURI();
+ }
+ String url = "j_security_check?j_username=" + credentials.getUsername() + "&j_password=" + ticket + "&initialURI=" + initialURI;
+ url = response.encodeRedirectURL(url);
+ response.sendRedirect(url);
+ response.flushBuffer();
}
public void logout(HttpServletRequest request, HttpServletResponse response)
{
request.getSession().invalidate();
}
-
- public static GenericAuthentication getInstance() {
- return GENERIC_AUTHENTICATION;
- }
}
\ No newline at end of file
Deleted: components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthenticationResult.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthenticationResult.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/GenericAuthenticationResult.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -1,61 +0,0 @@
-/*
-* Copyright (C) 2003-2009 eXo Platform SAS.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
-package org.gatein.wci.authentication;
-
-import org.gatein.wci.impl.DefaultServletContainer;
-import org.gatein.wci.impl.DefaultServletContainerFactory;
-import org.gatein.wci.security.Credentials;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
- * @version $Revision$
- */
-public class GenericAuthenticationResult extends AuthenticationResult {
- private String username;
- private String ticket;
-
- public GenericAuthenticationResult(String username, String ticket) {
- this.username = username;
- this.ticket = ticket;
- }
-
- public String getTicket() {
- return ticket;
- }
-
- public void perform(HttpServletRequest req, HttpServletResponse resp) throws IOException
- {
- req.getSession().removeAttribute(Credentials.CREDENTIALS);
- String url = "j_security_check?j_username=" + username + "&j_password=" + ticket;
- url = resp.encodeRedirectURL(url);
- resp.sendRedirect(url);
- resp.flushBuffer();
-
- Object o = DefaultServletContainerFactory.getInstance().getServletContainer();
- if (o instanceof DefaultServletContainer)
- {
- ((DefaultServletContainer)o).fireEvent(DefaultServletContainer.EventType.LOGIN, new AuthenticationEvent(req, resp, new Credentials(username, ticket)));
- }
- }
-}
Deleted: components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/ProgrammaticAuthenticationResult.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/ProgrammaticAuthenticationResult.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/ProgrammaticAuthenticationResult.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -1,27 +0,0 @@
-/*
-* Copyright (C) 2003-2009 eXo Platform SAS.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
-package org.gatein.wci.authentication;
-
-/**
- * @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
- * @version $Revision$
- */
-public class ProgrammaticAuthenticationResult extends AuthenticationResult {
-}
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/TicketService.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/TicketService.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/authentication/TicketService.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -44,7 +44,7 @@
}
if (credentials == null)
{
- throw new NullPointerException();
+ throw new IllegalArgumentException("credentials is null");
}
String tokenId = nextTicketId();
long expirationTimeMillis = System.currentTimeMillis() + validityMillis;
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/DefaultServletContainer.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/DefaultServletContainer.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/DefaultServletContainer.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -24,8 +24,6 @@
import org.gatein.wci.authentication.AuthenticationEvent;
import org.gatein.wci.authentication.AuthenticationListener;
-import org.gatein.wci.authentication.AuthenticationResult;
-import org.gatein.wci.authentication.GenericAuthenticationResult;
import org.gatein.wci.security.Credentials;
import org.gatein.wci.spi.ServletContainerContext;
import org.gatein.wci.spi.WebAppContext;
@@ -99,17 +97,18 @@
}
/** . */
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis) throws ServletException
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws ServletException, IOException
{
- AuthenticationResult result = registration.context.login(request, response, userName, password, validityMillis);
+ login(request, response, credentials, validityMillis, null);
+ }
+ /** . */
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws ServletException, IOException
+ {
+ registration.context.login(request, response, credentials, validityMillis, initialURI);
+
//
- if (!(result instanceof GenericAuthenticationResult))
- {
- fireEvent(EventType.LOGIN, new AuthenticationEvent(request, response, new Credentials(userName, password)));
- }
-
- return result;
+ fireEvent(EventType.LOGIN, new AuthenticationEvent(request, response, credentials, registration.context));
}
public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException
@@ -117,7 +116,7 @@
registration.context.logout(request, response);
//
- fireEvent(EventType.LOGOUT, new AuthenticationEvent(request, response));
+ fireEvent(EventType.LOGOUT, new AuthenticationEvent(request, response, registration.context));
}
public void addAuthenticationListener(AuthenticationListener listener) {
@@ -136,6 +135,11 @@
authenticationListeners.remove(listener);
}
+ public String getContainerInfo()
+ {
+ return registration.context.getContainerInfo();
+ }
+
public WebExecutor getExecutor(HttpServletRequest request, HttpServletResponse response)
{
throw new NotYetImplemented();
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/generic/GenericServletContainerContext.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/generic/GenericServletContainerContext.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/impl/generic/GenericServletContainerContext.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -23,9 +23,9 @@
package org.gatein.wci.impl.generic;
import org.gatein.wci.RequestDispatchCallback;
-import org.gatein.wci.authentication.AuthenticationResult;
import org.gatein.wci.authentication.GenericAuthentication;
import org.gatein.wci.impl.DefaultServletContainerFactory;
+import org.gatein.wci.security.Credentials;
import org.gatein.wci.spi.ServletContainerContext;
import org.gatein.wci.command.CommandDispatcher;
@@ -54,6 +54,9 @@
private static GenericServletContainerContext instance;
private static HashMap<ServletContext, String> requestDispatchMap = new HashMap<ServletContext, String>();
+
+ /** . */
+ private GenericAuthentication authentication = new GenericAuthentication();
public static GenericServletContainerContext getInstance()
{
@@ -99,7 +102,6 @@
}
/** . */
- //private final CommandDispatcher dispatcher = new CommandDispatcher("/gateinservlet");
public Object include(
ServletContext targetServletContext,
@@ -130,15 +132,26 @@
this.registration = null;
}
- public AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws IOException
{
- return GenericAuthentication.getInstance().login(userName, password, request, response, validityMillis);
+ authentication.login(credentials, request, response, validityMillis);
}
- public void logout(HttpServletRequest request, HttpServletResponse response)
+ public void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws IOException
{
- GenericAuthentication.getInstance().logout(request, response);
+ authentication.login(credentials, request, response, validityMillis, initialURI);
}
+
+ public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException
+ {
+ authentication.logout(request, response);
+ }
+
+ public String getContainerInfo()
+ {
+ return "Generic";
+ }
+
//
public void contextInitialized(ServletContextEvent servletContextEvent)
Added: components/wci/trunk/wci/src/main/java/org/gatein/wci/security/WCIController.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/security/WCIController.java (rev 0)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/security/WCIController.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -0,0 +1,67 @@
+/*
+* Copyright (C) 2003-2009 eXo Platform SAS.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+package org.gatein.wci.security;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:alain.defrance@exoplatform.com">Alain Defrance</a>
+ * @version $Revision$
+ */
+public abstract class WCIController
+{
+ public void sendAuth(HttpServletRequest req, HttpServletResponse resp, String jUsername, String jPassword) throws IOException
+ {
+ resp.sendRedirect(getAuthURI(req, resp, jUsername, jPassword));
+ }
+
+ public String getInitialURI(HttpServletRequest req)
+ {
+ String initialURI = req.getParameter("initialURI");
+ if (initialURI == null)
+ {
+ initialURI = (String)req.getAttribute("javax.servlet.forward.request_uri");
+ }
+ if (initialURI == null)
+ {
+ initialURI = getHomeURI(req);
+ }
+ return initialURI;
+ }
+
+ public String getAuthURI(HttpServletRequest req, HttpServletResponse resp, String jUsername, String jPassword)
+ {
+ String initialURI = getInitialURI(req);
+ if (!initialURI.endsWith("/"))
+ {
+ initialURI += "/";
+ }
+ String url = initialURI + "j_security_check?j_username=" + jUsername + "&j_password=" + jPassword;
+ return resp.encodeRedirectURL(url);
+ }
+
+ abstract public void showLoginForm(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException;
+ abstract public void showErrorLoginForm(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException;
+ abstract public Credentials getCredentials (HttpServletRequest req, HttpServletResponse resp);
+ abstract public String getHomeURI(HttpServletRequest req);
+}
Modified: components/wci/trunk/wci/src/main/java/org/gatein/wci/spi/ServletContainerContext.java
===================================================================
--- components/wci/trunk/wci/src/main/java/org/gatein/wci/spi/ServletContainerContext.java 2011-02-21 06:34:14 UTC (rev 5917)
+++ components/wci/trunk/wci/src/main/java/org/gatein/wci/spi/ServletContainerContext.java 2011-02-22 11:10:24 UTC (rev 5918)
@@ -30,7 +30,7 @@
import javax.servlet.http.HttpServletResponse;
import org.gatein.wci.RequestDispatchCallback;
-import org.gatein.wci.authentication.AuthenticationResult;
+import org.gatein.wci.security.Credentials;
/**
* Defines the service provider interface for a servlet container. It is an attempt to abstract the non
@@ -80,19 +80,41 @@
*
* @param request the request valid in the current servlet context
* @param response the response valid in the current servlet context
- * @param userName the username which try to login
- * @param password the password of the username
+ * @param credentials the credentials which try to authenticate
+ * @param validityMillis the validity of the authentication
*/
- AuthenticationResult login(HttpServletRequest request, HttpServletResponse response, String userName, String password, long validityMillis) throws ServletException;
+ void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis) throws ServletException, IOException;
/**
* Authentication support.
*
* @param request the request valid in the current servlet context
* @param response the response valid in the current servlet context
+ * @param credentials the credentials which try to authenticate
+ * @param validityMillis the validity of the authentication
*/
+ void login(HttpServletRequest request, HttpServletResponse response, Credentials credentials, long validityMillis, String initialURI) throws ServletException, IOException;
+
+ /**
+ * Authentication support.
+ *
+ * @param request the request valid in the current servlet context
+ * @param response the response valid in the current servlet context
+ */
void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException;
+ /**
+ * Returns the name and version of the servlet container in which the
+ * context is running.
+ *
+ * <P>
+ * The form of the returned string is <code>containername/versionnumber</code>.
+ *
+ *
+ * @return the string containing at least name and version number
+ */
+ public String getContainerInfo();
+
/**
* The callback interface that a servlet container context can obtain from its registration against
* the <code>org.jboss.portal.web.ServletContainer</code> singleton.
13 years, 10 months