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>&nbsp;</p>
+      <p style="border: none">&nbsp;</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]$"));
     }