You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2013/03/18 13:03:02 UTC
svn commit: r1457725 - in /syncope/branches/1_0_X/console/src:
main/java/org/apache/syncope/console/pages/
main/java/org/apache/syncope/console/pages/panels/
main/java/org/apache/syncope/console/wicket/markup/html/tree/
main/resources/org/apache/syncop...
Author: fmartelli
Date: Mon Mar 18 12:03:02 2013
New Revision: 1457725
URL: http://svn.apache.org/r1457725
Log:
SYNCOPE-326 fixed into the branch 1_0_X
Modified:
syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/Roles.java
syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSummaryPanel.java
syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/wicket/markup/html/tree/TreeRolePanel.java
syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Login.html
syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Roles.html
syncope/branches/1_0_X/console/src/main/webapp/css/fieldstyle.css
syncope/branches/1_0_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
Modified: syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/Roles.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/Roles.java?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/Roles.java (original)
+++ syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/Roles.java Mon Mar 18 12:03:02 2013
@@ -21,10 +21,8 @@ package org.apache.syncope.console.pages
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.syncope.console.pages.panels.RoleSummaryPanel;
-import org.apache.syncope.console.pages.panels.RoleSummaryPanel.TreeNodeClickUpdate;
import org.apache.syncope.console.wicket.markup.html.tree.TreeRolePanel;
/**
@@ -40,8 +38,6 @@ public class Roles extends BasePage {
private static final int WIN_WIDTH = 700;
- private final WebMarkupContainer container;
-
public Roles(final PageParameters parameters) {
super(parameters);
@@ -52,20 +48,16 @@ public class Roles extends BasePage {
createRoleWin.setCookieName("create-role-modal");
add(createRoleWin);
- container = new WebMarkupContainer("container");
- container.setOutputMarkupId(true);
- add(container);
-
final TreeRolePanel treePanel = new TreeRolePanel("treePanel");
treePanel.setOutputMarkupId(true);
- container.add(treePanel);
+ add(treePanel);
- final RoleSummaryPanel nodePanel = new RoleSummaryPanel("summaryPanel", createRoleWin, Roles.this
- .getPageReference());
+ final RoleSummaryPanel summaryPanel =
+ new RoleSummaryPanel("summaryPanel", createRoleWin, Roles.this.getPageReference());
- nodePanel.setOutputMarkupId(true);
+ summaryPanel.setOutputMarkupId(true);
- container.add(nodePanel);
+ add(summaryPanel);
createRoleWin.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
@@ -74,12 +66,12 @@ public class Roles extends BasePage {
@Override
public void onClose(final AjaxRequestTarget target) {
- final TreeNodeClickUpdate data = new TreeNodeClickUpdate(target, nodePanel.getSelectedNode() == null
+ final TreeNodeUpdateEvent data = new TreeNodeUpdateEvent(target, summaryPanel.getSelectedNode() == null
? 0
- : nodePanel.getSelectedNode().getId());
+ : summaryPanel.getSelectedNode().getId());
send(getPage(), Broadcast.BREADTH, data);
- target.add(container);
+
if (modalResult) {
getSession().info(getString("operation_succeded"));
target.add(feedbackPanel);
@@ -87,7 +79,43 @@ public class Roles extends BasePage {
}
}
});
+ }
+
+ public static class RoleEvent {
+
+ protected AjaxRequestTarget target;
+
+ protected Long selectedNodeId;
+
+ public RoleEvent(final AjaxRequestTarget target, final Long selectedNodeId) {
+ this.target = target;
+ this.selectedNodeId = selectedNodeId;
+ }
+
+ public AjaxRequestTarget getTarget() {
+ return target;
+ }
+
+ public Long getSelectedNodeId() {
+ return selectedNodeId;
+ }
+
+ public void setSelectedNodeId(final Long selectedNodeId) {
+ this.selectedNodeId = selectedNodeId;
+ }
+ }
+
+ public static class RoleSummuryUpdateEvent extends RoleEvent {
+
+ public RoleSummuryUpdateEvent(AjaxRequestTarget target, Long selectedNodeId) {
+ super(target, selectedNodeId);
+ }
+ }
+
+ public static class TreeNodeUpdateEvent extends RoleSummuryUpdateEvent {
- container.add(createRoleWin);
+ public TreeNodeUpdateEvent(final AjaxRequestTarget target, final Long selectedNodeId) {
+ super(target, selectedNodeId);
+ }
}
}
Modified: syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSummaryPanel.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSummaryPanel.java?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSummaryPanel.java (original)
+++ syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/pages/panels/RoleSummaryPanel.java Mon Mar 18 12:03:02 2013
@@ -19,10 +19,10 @@
package org.apache.syncope.console.pages.panels;
import org.apache.syncope.client.to.RoleTO;
+import org.apache.syncope.console.pages.Roles.RoleSummuryUpdateEvent;
import org.apache.syncope.console.rest.RoleRestClient;
import org.apache.syncope.console.wicket.markup.html.tree.TreeActionLinkPanel;
import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.event.IEvent;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.panel.Fragment;
@@ -84,8 +84,8 @@ public class RoleSummaryPanel extends Pa
public void onEvent(final IEvent<?> event) {
super.onEvent(event);
- if (event.getPayload() instanceof TreeNodeClickUpdate) {
- final TreeNodeClickUpdate update = (TreeNodeClickUpdate) event.getPayload();
+ if (event.getPayload() instanceof RoleSummuryUpdateEvent) {
+ final RoleSummuryUpdateEvent update = (RoleSummuryUpdateEvent) event.getPayload();
fragment = new Fragment("rolePanel", (update.getSelectedNodeId() == 0
? "rootPanel" : "roleViewPanel"), this);
@@ -106,31 +106,4 @@ public class RoleSummaryPanel extends Pa
update.getTarget().add(this);
}
}
-
- public static class TreeNodeClickUpdate {
-
- private AjaxRequestTarget target;
-
- private Long selectedNodeId;
-
- public TreeNodeClickUpdate(final AjaxRequestTarget target, final Long selectedNodeId) {
- this.target = target;
- this.selectedNodeId = selectedNodeId;
- }
-
- /**
- * @return ajax request target
- */
- public AjaxRequestTarget getTarget() {
- return target;
- }
-
- public Long getSelectedNodeId() {
- return selectedNodeId;
- }
-
- public void setSelectedNodeId(final Long selectedNodeId) {
- this.selectedNodeId = selectedNodeId;
- }
- }
}
\ No newline at end of file
Modified: syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/wicket/markup/html/tree/TreeRolePanel.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/wicket/markup/html/tree/TreeRolePanel.java?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/wicket/markup/html/tree/TreeRolePanel.java (original)
+++ syncope/branches/1_0_X/console/src/main/java/org/apache/syncope/console/wicket/markup/html/tree/TreeRolePanel.java Mon Mar 18 12:03:02 2013
@@ -19,7 +19,6 @@
package org.apache.syncope.console.wicket.markup.html.tree;
import javax.swing.tree.DefaultMutableTreeNode;
-import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.event.IEvent;
@@ -33,7 +32,9 @@ import org.apache.wicket.spring.injectio
import org.apache.syncope.client.to.RoleTO;
import org.apache.syncope.console.commons.RoleTreeBuilder;
import org.apache.syncope.console.commons.XMLRolesReader;
-import org.apache.syncope.console.pages.panels.RoleSummaryPanel.TreeNodeClickUpdate;
+import org.apache.syncope.console.pages.Roles.RoleSummuryUpdateEvent;
+import org.apache.syncope.console.pages.Roles.TreeNodeUpdateEvent;
+import org.apache.wicket.ajax.AjaxRequestTarget;
public class TreeRolePanel extends Panel {
@@ -78,7 +79,7 @@ public class TreeRolePanel extends Panel
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node;
RoleTO unitObject = (RoleTO) treeNode.getUserObject();
- send(getPage(), Broadcast.BREADTH, new TreeNodeClickUpdate(target, unitObject.getId()));
+ send(getPage(), Broadcast.BREADTH, new RoleSummuryUpdateEvent(target, unitObject.getId()));
}
};
@@ -95,13 +96,16 @@ public class TreeRolePanel extends Panel
public void onEvent(final IEvent<?> event) {
super.onEvent(event);
- if (event.getPayload() instanceof TreeNodeClickUpdate) {
+ if (event.getPayload() instanceof TreeNodeUpdateEvent) {
- final TreeNodeClickUpdate update = (TreeNodeClickUpdate) event.getPayload();
+ final TreeNodeUpdateEvent update = (TreeNodeUpdateEvent) event.getPayload();
updateTree();
update.getTarget().add(treeContainer);
+
+ send(getPage(), Broadcast.BREADTH,
+ new RoleSummuryUpdateEvent(update.getTarget(), update.getSelectedNodeId()));
}
}
}
Modified: syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Login.html
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Login.html?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Login.html (original)
+++ syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Login.html Mon Mar 18 12:03:02 2013
@@ -31,7 +31,7 @@ under the License.
<body style="text-align:center">
<div id="splash">
<img src="img/logo.png" alt="syncope" title="syncope" id="logo" />
- <p> </p>
+ <p style="border: none"> </p>
<div id="loginFeedbackDiv">
<span wicket:id="feedback">feedbackmessages will be put here</span>
</div>
Modified: syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Roles.html
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Roles.html?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Roles.html (original)
+++ syncope/branches/1_0_X/console/src/main/resources/org/apache/syncope/console/pages/Roles.html Mon Mar 18 12:03:02 2013
@@ -13,17 +13,14 @@
under the License.
-->
<wicket:head>
- <style>
- div.role-tree div.wicket-tree-table a {
- color:black;
- }
- </style>
+ <style>
+ div.role-tree div.wicket-tree-table a {
+ color:black;
+ }
+ </style>
</wicket:head>
<wicket:extend>
- <div class="w_content_3" wicket:id="container">
- <span wicket:id="treePanel"></span>
- <span wicket:id="summaryPanel"></span>
-
- <div wicket:id="createRoleWin">[Show modal window for creating role]</div>
- </div>
+ <span wicket:id="treePanel"></span>
+ <span wicket:id="summaryPanel"></span>
+ <div wicket:id="createRoleWin">[Show modal window for creating role]</div>
</wicket:extend>
\ No newline at end of file
Modified: syncope/branches/1_0_X/console/src/main/webapp/css/fieldstyle.css
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/main/webapp/css/fieldstyle.css?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/main/webapp/css/fieldstyle.css (original)
+++ syncope/branches/1_0_X/console/src/main/webapp/css/fieldstyle.css Mon Mar 18 12:03:02 2013
@@ -44,6 +44,16 @@
width: 100%;
}
+div#formtable {
+ display: table;
+ width: 100%;
+}
+
+div#formtable > span:first-of-type {
+ display: table-row-group;
+ width: 100%;
+}
+
div.tablerow {
display: inline-table;
padding: 5px;
@@ -55,20 +65,22 @@ div.alt {
}
div.tablecolumn_label{
- float: left;
+ display: table-cell;
font-size: 12px;
vertical-align: middle;
font-family: Verdana,Tahoma,sans-serif;
+ width: 30%;
}
div.tablecolumn_field{
- float: left;
+ display: table-cell;
vertical-align: middle;
font-family: Verdana,Tahoma,sans-serif;
+ width: 70%;
}
div.tablecolumn_check{
- float: left;
+ display: table-cell;
margin-right: 5px;
margin-left: 2px;
vertical-align: middle;
Modified: syncope/branches/1_0_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java?rev=1457725&r1=1457724&r2=1457725&view=diff
==============================================================================
--- syncope/branches/1_0_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java (original)
+++ syncope/branches/1_0_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java Mon Mar 18 12:03:02 2013
@@ -28,11 +28,11 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table/tbody/tr/td[2]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table/tbody/tr/td[2]/table/tbody/tr/td[2]/a");
- selenium.waitForCondition("selenium.isElementPresent(\"//div[3]/span[2]/span/div/p/span/span/a\");", "30000");
+ selenium.waitForCondition("selenium.isElementPresent(\"//span[2]/span/div/p/span/span/a\");", "30000");
- selenium.click("//div[3]/span[2]/span/div/p/span/span/a");
+ selenium.click("//span[2]/span/div/p/span/span/a");
selenium.waitForCondition("selenium.isElementPresent(\"//span[contains(text(),'Attributes')]\");", "30000");
@@ -46,12 +46,12 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table[3]/tbody/tr/td[4]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table[3]/tbody/tr/td[4]/table/tbody/tr/td[2]/a");
selenium.waitForCondition("selenium.isElementPresent("
- + "\"//div[3]/span[2]/span/span/div/p/span[2]/span/a\");", "30000");
+ + "\"//span[2]/span/span/div/p/span[2]/span/a\");", "30000");
- selenium.click("//div[3]/span[2]/span/span/div/p/span[2]/span/a");
+ selenium.click("//span[2]/span/span/div/p/span[2]/span/a");
selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000");
@@ -75,12 +75,12 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table[3]/tbody/tr/td[4]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table[3]/tbody/tr/td[4]/table/tbody/tr/td[2]/a");
selenium.waitForCondition("selenium.isElementPresent("
- + "\"//div[3]/span[2]/span/span/div/p/span[2]/span/a[2]\");", "30000");
+ + "\"//span[2]/span/span/div/p/span[2]/span/a[2]\");", "30000");
- selenium.click("//div[3]/span[2]/span/span/div/p/span[2]/span/a[2]");
+ selenium.click("//span[2]/span/span/div/p/span[2]/span/a[2]");
selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000");
@@ -104,7 +104,7 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table[3]/tbody/tr/td[4]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table[3]/tbody/tr/td[4]/table/tbody/tr/td[2]/a");
selenium.waitForCondition("selenium.isElementPresent(\"//div/form/div[2]/ul/li[6]/a\");", "30000");
@@ -120,7 +120,7 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table[2]/tbody/tr/td[3]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table[2]/tbody/tr/td[3]/table/tbody/tr/td[2]/a");
selenium.waitForCondition("selenium.isElementPresent(\"//div/form/div[2]/ul/li[7]/a\");", "30000");
@@ -130,7 +130,7 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/span/span[7]/a\");", "30000");
- selenium.click("//div[3]/span[2]/span/span/div/form/div"
+ selenium.click("//span[2]/span/span/div/form/div"
+ "[2]/div[2]/div/div/span/div/table/tbody/tr/td[4]/span/span[7]/a");
selenium.waitForCondition("selenium.isElementPresent("
@@ -146,7 +146,7 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table[2]/tbody/tr/td[3]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table[2]/tbody/tr/td[3]/table/tbody/tr/td[2]/a");
selenium.waitForCondition("selenium.isElementPresent(\"//div/form/div[2]/ul/li[7]/a\");", "30000");
@@ -156,7 +156,7 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//span[9]/a\");", "30000");
- selenium.click("//div[3]/span[2]/span/span/div/form/div"
+ selenium.click("//span[2]/span/span/div/form/div"
+ "[2]/div[2]/div/div/span/div/table/tbody/tr[2]/td[4]/span/span[9]/a");
assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
@@ -168,11 +168,11 @@ public class RoleTestITCase extends Abst
selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
- selenium.click("//div[3]/span/div/div/table[12]/tbody/tr/td[5]/table/tbody/tr/td[2]/a");
+ selenium.click("//span/div/div/table[12]/tbody/tr/td[5]/table/tbody/tr/td[2]/a");
selenium.waitForCondition("selenium.isElementPresent(\"//div/p/span[2]/span/a[3]\");", "30000");
- selenium.click("//div[3]/span[2]/span/span/div/p/span[2]/span/a[3]");
+ selenium.click("//span[2]/span/span/div/p/span[2]/span/a[3]");
assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));
}