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/19 11:21:07 UTC

svn commit: r1458209 - in /syncope/trunk: ./ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/markup/ console/src/main/java/org/apache/syncope/markup/head/ console/src/main/resources/org/apache/syncope/co...

Author: fmartelli
Date: Tue Mar 19 10:21:06 2013
New Revision: 1458209

URL: http://svn.apache.org/r1458209
Log:
SYNCOPE-326 fixed

Added:
    syncope/trunk/console/src/main/java/org/apache/syncope/markup/
    syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/
    syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java   (with props)
Modified:
    syncope/trunk/   (props changed)
    syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java
    syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BasePage.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Login.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/RoleModalPage.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Roles.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/RolePanel.html
    syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
    syncope/trunk/console/src/main/webapp/css/fieldstyle.css
    syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java

Propchange: syncope/trunk/
------------------------------------------------------------------------------
  Merged /syncope/branches/1_0_X:r1455499-1457725

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java Tue Mar 19 10:21:06 2013
@@ -19,6 +19,10 @@
 package org.apache.syncope.console.pages;
 
 import org.apache.syncope.console.commons.CloseOnESCBehavior;
+import org.apache.syncope.markup.head.MetaHeaderItem;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.PriorityHeaderItem;
 
 /**
  * Syncope Modal Window.
@@ -27,9 +31,17 @@ public abstract class BaseModalPage exte
 
     private static final long serialVersionUID = -1443079028368471943L;
 
+    private final HeaderItem meta = new MetaHeaderItem("X-UA-Compatible", "IE=edge");
+
     public BaseModalPage() {
         super();
 
         add(new CloseOnESCBehavior("keyup"));
     }
+
+    @Override
+    public void renderHead(IHeaderResponse response) {
+        super.renderHead(response);
+        response.render(new PriorityHeaderItem(meta));
+    }
 }

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BasePage.java Tue Mar 19 10:21:06 2013
@@ -22,6 +22,7 @@ import org.apache.syncope.common.to.User
 import org.apache.syncope.console.SyncopeApplication;
 import org.apache.syncope.console.SyncopeSession;
 import org.apache.syncope.console.rest.UserRestClient;
+import org.apache.syncope.markup.head.MetaHeaderItem;
 import org.apache.wicket.Component;
 import org.apache.wicket.Page;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -30,6 +31,9 @@ import org.apache.wicket.ajax.markup.htm
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.PriorityHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
@@ -47,6 +51,8 @@ public class BasePage extends AbstractBa
 
     private final static int EDIT_PROFILE_WIN_WIDTH = 800;
 
+    private final HeaderItem meta = new MetaHeaderItem("X-UA-Compatible", "IE=edge");
+
     @SpringBean
     private UserRestClient userRestClient;
 
@@ -164,4 +170,10 @@ public class BasePage extends AbstractBa
             }
         });
     }
+
+    @Override
+    public void renderHead(IHeaderResponse response) {
+        super.renderHead(response);
+        response.render(new PriorityHeaderItem(meta));
+    }
 }

Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Roles.java Tue Mar 19 10:21:06 2013
@@ -53,8 +53,6 @@ public class Roles extends BasePage {
 
     private final ModalWindow editRoleWin;
 
-    private final WebMarkupContainer container;
-
     public Roles(final PageParameters parameters) {
         super(parameters);
 
@@ -65,17 +63,13 @@ public class Roles extends BasePage {
         editRoleWin.setCookieName("edit-role-modal");
         add(editRoleWin);
 
-        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 summaryPanel = new RoleSummaryPanel("summaryPanel", editRoleWin,
                 Roles.this.getPageReference());
-        container.add(summaryPanel);
+        add(summaryPanel);
 
         editRoleWin.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
 
@@ -83,7 +77,7 @@ public class Roles extends BasePage {
 
             @Override
             public void onClose(final AjaxRequestTarget target) {
-                final RoleSummaryPanel summaryPanel = (RoleSummaryPanel) container.get("summaryPanel");
+                final RoleSummaryPanel summaryPanel = (RoleSummaryPanel) get("summaryPanel");
 
                 final TreeNodeClickUpdate data = new TreeNodeClickUpdate(target,
                         summaryPanel == null || summaryPanel.getSelectedNode() == null
@@ -91,7 +85,7 @@ public class Roles extends BasePage {
                         : summaryPanel.getSelectedNode().getId());
 
                 send(getPage(), Broadcast.BREADTH, data);
-                target.add(container);
+                
                 if (modalResult) {
                     getSession().info(getString("operation_succeeded"));
                     target.add(feedbackPanel);
@@ -100,8 +94,6 @@ public class Roles extends BasePage {
             }
         });
 
-        container.add(editRoleWin);
-
         final AbstractSearchResultPanel searchResult =
                 new RoleSearchResultPanel("searchResult", true, null, getPageReference(), restClient);
         add(searchResult);
@@ -155,7 +147,7 @@ public class Roles extends BasePage {
             final RoleSummaryPanel summaryPanel = new RoleSummaryPanel("summaryPanel", editRoleWin,
                     Roles.this.getPageReference(), update.getSelectedNodeId());
 
-            container.addOrReplace(summaryPanel);
+            addOrReplace(summaryPanel);
             update.getTarget().add(this);
         }
     }

Added: syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java?rev=1458209&view=auto
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java (added)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java Tue Mar 19 10:21:06 2013
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.syncope.markup.head;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.request.Response;
+
+public class MetaHeaderItem extends HeaderItem implements Serializable {
+
+    private final String key;
+
+    private final String value;
+
+    public MetaHeaderItem(String key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+
+    @Override
+    public Iterable<?> getRenderTokens() {
+        return Arrays.asList("meta-" + key + "-" + value);
+    }
+
+    @Override
+    public void render(final Response response) {
+        response.write("<meta http-equiv=\"" + key + "\" content=\"" + value + "\"/>");
+        response.write("\n");
+    }
+}

Propchange: syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: syncope/trunk/console/src/main/java/org/apache/syncope/markup/head/MetaHeaderItem.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html Tue Mar 19 10:21:06 2013
@@ -18,8 +18,6 @@ under the License.
 -->
 <html>
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
-    
     <link rel="stylesheet" type="text/css" href="css/jquery-ui.css" media="all"/>
     <link rel="stylesheet" type="text/css" href="css/style.css" media="all"/>
     <link rel="stylesheet" type="text/css" href="css/fieldstyle.css" media="all"/>

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BasePage.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BasePage.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BasePage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BasePage.html Tue Mar 19 10:21:06 2013
@@ -17,9 +17,8 @@ KIND, either express or implied.  See th
 specific language governing permissions and limitations
 under the License.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta http-equiv="Content-Style-Type" content="text/css"/>
     <meta http-equiv="Content-Script-Type" content="text/javascript"/>

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Login.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Login.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Login.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Login.html Tue Mar 19 10:21:06 2013
@@ -32,7 +32,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/trunk/console/src/main/resources/org/apache/syncope/console/pages/RoleModalPage.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/RoleModalPage.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/RoleModalPage.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/RoleModalPage.html Tue Mar 19 10:21:06 2013
@@ -23,16 +23,18 @@ under the License.
     </p>
     <form wicket:id="RoleForm">
       <div id="tabs">
-        <ul>
-          <li><a href="#tabs-1"><span><wicket:message key="tab1"/></span></a></li>
-          <li><a href="#tabs-2"><span><wicket:message key="tab2"/></span></a></li>
-          <li><a href="#tabs-3"><span><wicket:message key="tab3"/></span></a></li>
-          <li><a href="#tabs-4"><span><wicket:message key="tab4"/></span></a></li>
-          <li><a href="#tabs-5"><span><wicket:message key="tab5"/></span></a></li>
-          <li><a href="#tabs-6"><span><wicket:message key="tab6"/></span></a></li>
-          <li><a href="#tabs-7"><span><wicket:message key="tab7"/></span></a></li>
-        </ul>
-        <div wicket:id="rolePanel"/>
+        <div style="display: block; clear: both">
+          <ul>
+            <li><a href="#tabs-1"><span><wicket:message key="tab1"/></span></a></li>
+            <li><a href="#tabs-2"><span><wicket:message key="tab2"/></span></a></li>
+            <li><a href="#tabs-3"><span><wicket:message key="tab3"/></span></a></li>
+            <li><a href="#tabs-4"><span><wicket:message key="tab4"/></span></a></li>
+            <li><a href="#tabs-5"><span><wicket:message key="tab5"/></span></a></li>
+            <li><a href="#tabs-6"><span><wicket:message key="tab6"/></span></a></li>
+            <li><a href="#tabs-7"><span><wicket:message key="tab7"/></span></a></li>
+          </ul>
+        </div>
+        <div wicket:id="rolePanel"></div>
       </div>
       <div style="bottom:0;margin:10px">
         <input type="submit"

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Roles.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Roles.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Roles.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/Roles.html Tue Mar 19 10:21:06 2013
@@ -41,12 +41,9 @@ under the License.
     </ul>
 
     <div id="tabs-tree">
-      <div class="w_content_3" wicket:id="container">
-        <span wicket:id="treePanel"></span>
-        <span wicket:id="summaryPanel"></span>    
-
-        <div wicket:id="editRoleWin">[Show modal window for create/editing role]</div>
-      </div>
+      <span wicket:id="treePanel"></span>
+      <span wicket:id="summaryPanel"></span>
+      <div wicket:id="editRoleWin">[Show modal window for create/editing role]</div>
     </div>
 
     <div id="tabs-search">

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/RolePanel.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/RolePanel.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/RolePanel.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/RolePanel.html Tue Mar 19 10:21:06 2013
@@ -33,9 +33,9 @@ under the License.
           <span wicket:id="inheritAttributes" />
         </div>
       </div>
-    </div>
 
-    <span wicket:id="attributes">[role attributes]</span>
+      <span wicket:id="attributes">[role attributes]</span>
+    </div>
   </div>
 
   <div id="tabs-3">
@@ -48,9 +48,9 @@ under the License.
           <span wicket:id="inheritDerivedAttributes" />
         </div>
       </div>
-    </div>
 
-    <span wicket:id="derivedAttributes">[role derived attributes]</span>
+      <span wicket:id="derivedAttributes">[role derived attributes]</span>
+    </div>
   </div>
 
   <div id="tabs-4">
@@ -63,9 +63,9 @@ under the License.
           <span wicket:id="inheritVirtualAttributes" />
         </div>
       </div>
-    </div>
 
-    <span wicket:id="virtualAttributes">[role virtual attributes]</span>
+      <span wicket:id="virtualAttributes">[role virtual attributes]</span>
+    </div>
   </div>
 
   <div id="tabs-5">

Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html (original)
+++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html Tue Mar 19 10:21:06 2013
@@ -25,85 +25,85 @@ under the License.
   </style>
 </wicket:head>
 <wicket:panel>
-  <span id="action" wicket:id="panelClaim">[plus]</span>
-  <span id="action" wicket:id="panelDryRun">[plus]</span>
-  <span id="action" wicket:id="panelExecute">[plus]</span>
-  <span id="action" wicket:id="panelEnable">[plus]</span>
-  <span id="action" wicket:id="panelSearch">[plus]</span>
-  <span id="action" wicket:id="panelCreate">[plus]</span>
-  <span id="action" wicket:id="panelUserTemplate">[plus]</span>
-  <span id="action" wicket:id="panelRoleTemplate">[plus]</span>
-  <span id="action" wicket:id="panelEdit">[plus]</span>
-  <span id="action" wicket:id="panelExport">[plus]</span>
-  <span id="action" wicket:id="panelDelete">[plus]</span>
-  <span id="action" wicket:id="panelSelect">[plus]</span>
-  <span id="action" wicket:id="panelSuspend">[plus]</span>
-  <span id="action" wicket:id="panelReactivate">[plus]</span>
-  <span id="action" wicket:id="panelReload">[plus]</span>
-  <span id="action" wicket:id="panelChangeView">[plus]</span>
+  <span wicket:id="panelClaim">[plus]</span>
+  <span wicket:id="panelDryRun">[plus]</span>
+  <span wicket:id="panelExecute">[plus]</span>
+  <span wicket:id="panelEnable">[plus]</span>
+  <span wicket:id="panelSearch">[plus]</span>
+  <span wicket:id="panelCreate">[plus]</span>
+  <span wicket:id="panelUserTemplate">[plus]</span>
+  <span wicket:id="panelRoleTemplate">[plus]</span>
+  <span wicket:id="panelEdit">[plus]</span>
+  <span wicket:id="panelExport">[plus]</span>
+  <span wicket:id="panelDelete">[plus]</span>
+  <span wicket:id="panelSelect">[plus]</span>
+  <span wicket:id="panelSuspend">[plus]</span>
+  <span wicket:id="panelReactivate">[plus]</span>
+  <span wicket:id="panelReload">[plus]</span>
+  <span wicket:id="panelChangeView">[plus]</span>
 
   <wicket:fragment wicket:id="fragmentClaim">
-    <a href="#" wicket:id="claimLink"><img src="img/actions/claim.png" alt="claim icon" title="Claim"/></a>
+    <a href="#" wicket:id="claimLink"><img id="action" src="img/actions/claim.png" alt="claim icon" title="Claim"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentCreate">
-    <a href="#" wicket:id="createLink"><img src="img/actions/create.png" alt="create icon"  title="Create"/></a>
+    <a href="#" wicket:id="createLink"><img id="action" src="img/actions/create.png" alt="create icon"  title="Create"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentSearch">
-    <a href="#" wicket:id="searchLink"><img src="img/actions/search.png" alt="search icon"  title="Search and modify"/></a>
+    <a href="#" wicket:id="searchLink"><img id="action" src="img/actions/search.png" alt="search icon"  title="Search and modify"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentEnable">
-    <a href="#" wicket:id="enableLink"><img src="img/actions/enable.png" alt="enable icon"  title="Enable / Disable"/></a>
+    <a href="#" wicket:id="enableLink"><img id="action" src="img/actions/enable.png" alt="enable icon"  title="Enable / Disable"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentEdit">
-    <a href="#" wicket:id="editLink"><img src="img/actions/edit.png" alt="edit icon"  title="Edit"/></a>
+    <a href="#" wicket:id="editLink"><img id="action" src="img/actions/edit.png" alt="edit icon"  title="Edit"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentUserTemplate">
-    <a href="#" wicket:id="userTemplateLink"><img src="img/actions/user_template.png" alt="user template icon"  title="Specify user template"/></a>
+    <a href="#" wicket:id="userTemplateLink"><img id="action" src="img/actions/user_template.png" alt="user template icon"  title="Specify user template"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentRoleTemplate">
-    <a href="#" wicket:id="roleTemplateLink"><img src="img/actions/role_template.png" alt="role template icon"  title="Specify role template"/></a>
+    <a href="#" wicket:id="roleTemplateLink"><img id="action" src="img/actions/role_template.png" alt="role template icon"  title="Specify role template"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentDelete">
-    <a href="#" wicket:id="deleteLink"><img src="img/actions/delete.png" alt="delete icon"  title="Delete"/></a>
+    <a href="#" wicket:id="deleteLink"><img id="action" src="img/actions/delete.png" alt="delete icon"  title="Delete"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentDryRun">
-    <a href="#" wicket:id="dryRunLink"><img src="img/actions/dryrun.png" alt="dryrun icon"  title="DryRun"/></a>
+    <a href="#" wicket:id="dryRunLink"><img id="action" src="img/actions/dryrun.png" alt="dryrun icon"  title="DryRun"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentExecute">
-    <a href="#" wicket:id="executeLink"><img src="img/actions/execute.png" alt="execute icon"  title="Execute"/></a>
+    <a href="#" wicket:id="executeLink"><img id="action" src="img/actions/execute.png" alt="execute icon"  title="Execute"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentSelect">
-    <a href="#" wicket:id="selectLink"><img src="img/actions/select.png" alt="select icon"  title="Select"/></a>
+    <a href="#" wicket:id="selectLink"><img id="action" src="img/actions/select.png" alt="select icon"  title="Select"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentExport">
-    <a href="#" wicket:id="exportLink"><img src="img/actions/export.png" alt="export icon"  title="Export"/></a>
+    <a href="#" wicket:id="exportLink"><img id="action" src="img/actions/export.png" alt="export icon"  title="Export"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentSuspend">
-    <a href="#" wicket:id="suspendLink"><img src="img/actions/suspend.png" alt="suspend icon"  title="Suspend"/></a>
+    <a href="#" wicket:id="suspendLink"><img id="action" src="img/actions/suspend.png" alt="suspend icon"  title="Suspend"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentReactivate">
-    <a href="#" wicket:id="reactivateLink"><img src="img/actions/reactivate.png" alt="reactivate icon"  title="Reactivate"/></a>
+    <a href="#" wicket:id="reactivateLink"><img id="action" src="img/actions/reactivate.png" alt="reactivate icon"  title="Reactivate"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentReload">
-    <a href="#" wicket:id="reloadLink"><img src="img/actions/reload.png" alt="reload icon"  title="Reload"/></a>
+    <a href="#" wicket:id="reloadLink"><img id="action" src="img/actions/reload.png" alt="reload icon"  title="Reload"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="fragmentChangeView">
-    <a href="#" wicket:id="changeViewLink"><img src="img/actions/settings-icon.png" alt="Change view icon"  title="Change view"/></a>
+    <a href="#" wicket:id="changeViewLink"><img id="action" src="img/actions/settings-icon.png" alt="Change view icon"  title="Change view"/></a>
   </wicket:fragment>
 
   <wicket:fragment wicket:id="emptyFragment">

Modified: syncope/trunk/console/src/main/webapp/css/fieldstyle.css
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/webapp/css/fieldstyle.css?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/main/webapp/css/fieldstyle.css (original)
+++ syncope/trunk/console/src/main/webapp/css/fieldstyle.css Tue Mar 19 10:21:06 2013
@@ -43,34 +43,46 @@
   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;
-  width: 100%;
+    display: inline-table;
+    padding: 5px;
+    width: 100%;
 }
 
-.alt {
-  background: #eff3ea;
+div.alt {
+    background: #eff3ea;
 }
 
 div.tablecolumn_label{
-  float: left;
-  font-size: 12px;
-  vertical-align: middle;
-  font-family: Verdana,Tahoma,sans-serif;
+    display: table-cell;
+    font-size: 12px;
+    vertical-align: middle;
+    font-family: Verdana,Tahoma,sans-serif;
+    width: 30%;
 }
 
 div.tablecolumn_field{
-  float: left;
-  vertical-align: middle;
-  font-family: Verdana,Tahoma,sans-serif;
+    display: table-cell;
+    vertical-align: middle;
+    font-family: Verdana,Tahoma,sans-serif;
+    width: 70%;
 }
 
 div.tablecolumn_check{
-  float: left;
-  margin-right: 5px;
-  margin-left: 2px;
-  vertical-align: middle;
+    display: table-cell;
+    margin-right: 5px;
+    margin-left: 2px;
+    vertical-align: middle;
 }
 
 .ui-tabs .ui-tabs-panel {

Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java?rev=1458209&r1=1458208&r2=1458209&view=diff
==============================================================================
--- syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java (original)
+++ syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java Tue Mar 19 10:21:06 2013
@@ -28,12 +28,12 @@ public class RoleTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
-        selenium.click("//div[3]/div/div/span/div/div/div/div/div/span/a");
+        selenium.click("//div/div/span/div/div/div/div/div/span/a");
 
         selenium.waitForCondition(
-                "selenium.isElementPresent(\"//div[3]/div/div/span[2]/span/div/p/span/span/a\");", "30000");
+                "selenium.isElementPresent(\"//div/div/span[2]/span/div/p/span/span/a\");", "30000");
 
-        selenium.click("//div[3]/div/div/span[2]/span/div/p/span/span/a");
+        selenium.click("//div/div/span[2]/span/div/p/span/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent(\"//span[contains(text(),'Attributes')]\");", "30000");
 
@@ -47,25 +47,25 @@ public class RoleTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
-        selenium.click("//div[3]/div/div/span/div/div/div/div/div[2]/div/div/span/a");
+        selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
-                + "\"//div[3]/div/div/span[2]/span/span/div/p/span[2]/span/a\");", "30000");
+                + "\"//div/div/span[2]/span/span/div/p/span[2]/span/a\");", "30000");
 
-        selenium.click("//div[3]/div/div/span[2]/span/span/div/p/span[2]/span/a");
+        selenium.click("//div/div/span[2]/span/span/div/p/span[2]/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000");
 
         selenium.selectFrame("relative=up");
 
-        selenium.waitForCondition("selenium.isElementPresent(\"//div[2]/form/div[3]/ul/li[1]/a/span\");", "30000");
+        selenium.waitForCondition("selenium.isElementPresent(\"//div[2]/form/div[3]/div/ul/li[1]/a/span\");", "30000");
 
-        selenium.click("//div[2]/form/div[3]/ul/li[1]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[2]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[3]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[4]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[5]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[6]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[1]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[2]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[3]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[4]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[5]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[6]/a/span");
 
         selenium.click("css=a.w_close");
     }
@@ -76,25 +76,25 @@ public class RoleTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
-        selenium.click("//div[3]/div/div/span/div/div/div/div/div[2]/div/div/span/a");
+        selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
-                + "\"//div[3]/div/div/span[2]/span/span/div/p/span[2]/span/a[2]\");", "30000");
+                + "\"//div/div/span[2]/span/span/div/p/span[2]/span/a[2]\");", "30000");
 
-        selenium.click("//div[3]/div/div/span[2]/span/span/div/p/span[2]/span/a[2]");
+        selenium.click("//div/div/span[2]/span/span/div/p/span[2]/span/a[2]");
 
         selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000");
 
         selenium.selectFrame("relative=up");
 
-        selenium.waitForCondition("selenium.isElementPresent(" + "\"//div[2]/form/div[3]/ul/li[1]/a/span\");", "30000");
+        selenium.waitForCondition("selenium.isElementPresent(" + "\"//div[2]/form/div[3]/div/ul/li[1]/a/span\");", "30000");
 
-        selenium.click("//div[2]/form/div[3]/ul/li[2]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[3]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[4]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[5]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[6]/a/span");
-        selenium.click("//div[2]/form/div[3]/ul/li[7]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[2]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[3]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[4]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[5]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[6]/a/span");
+        selenium.click("//div[2]/form/div[3]/div/ul/li[7]/a/span");
 
         selenium.click("css=a.w_close");
     }
@@ -105,7 +105,7 @@ public class RoleTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
-        selenium.click("//div[3]/div/div/span/div/div/div/div/div[2]/div/div/span/a");
+        selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div/form/div[2]/ul/li[7]/a\");", "30000");
 
@@ -121,12 +121,12 @@ public class RoleTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
-        selenium.click("//div[3]/div/div/span/div/div/div/div/div[2]/div/div/span/a");
+        selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
-                + "\"//div[3]/div/div/span[2]/span/span/div/form/div[2]/ul/li[8]/a\");", "30000");
+                + "\"//div/div/span[2]/span/span/div/form/div[2]/ul/li[8]/a\");", "30000");
 
-        selenium.click("//div[3]/div/div/span[2]/span/span/div/form/div[2]/ul/li[8]/a");
+        selenium.click("//div/div/span[2]/span/span/div/form/div[2]/ul/li[8]/a");
 
         selenium.click("//input[@name=\"userListContainer:search\"]");
 
@@ -147,10 +147,10 @@ public class RoleTestITCase extends Abst
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
-        selenium.click("//div[3]/div/div/span/div/div/div/div/div[2]/div/div/span/a");
+        selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a");
 
         selenium.waitForCondition("selenium.isElementPresent("
-                + "\"//div[3]/div/div/span[2]/span/span/div/form/div[2]/ul/li[8]/a\");", "30000");
+                + "\"//div/div/span[2]/span/span/div/form/div[2]/ul/li[8]/a\");", "30000");
 
         selenium.click("//div/form/div[2]/ul/li[7]/a");
 
@@ -170,11 +170,11 @@ public class RoleTestITCase extends Abst
         selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='navigationPane']\");", "30000");
 
         selenium.click(
-                "//div[3]/div/div/span/div/div/div/div/div[2]/div[2]/div[2]/div/div[2]/div[3]/div/span[2]/a/span");
+                "//div/div/span/div/div/div/div/div[2]/div[2]/div[2]/div/div[2]/div[3]/div/span[2]/a/span");
 
         selenium.waitForCondition("selenium.isElementPresent(\"//div/p/span[2]/span/a[3]\");", "30000");
 
-        selenium.click("//div[3]/div/div/span[2]/span/span/div/p/span[2]/span/a[3]");
+        selenium.click("//div/div/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]$"));
     }