You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2015/02/05 17:00:57 UTC
[26/52] syncope git commit: [SYNCOPE-620] Console (JAR) in,
now time for console-reference
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java
new file mode 100644
index 0000000..c5b9164
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryCertPreviewer.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.form.preview;
+
+import java.io.ByteArrayInputStream;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import javax.naming.ldap.LdapName;
+import javax.naming.ldap.Rdn;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.preview.BinaryPreview;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.io.IOUtils;
+
+@BinaryPreview(mimeTypes = { "application/x-x509-ca-cert", "application/x-x509-user-cert", "application/pkix-cert" })
+public class BinaryCertPreviewer extends AbstractBinaryPreviewer {
+
+ private static final long serialVersionUID = -5843835939538055110L;
+
+ public BinaryCertPreviewer(final String id, final String mimeType, final byte[] uploadedBytes) {
+ super(id, mimeType, uploadedBytes);
+ }
+
+ @Override
+ public Component preview() {
+ final Label commonNameLabel = new Label("certCommonName", new Model<String>());
+ final ByteArrayInputStream certificateStream = new ByteArrayInputStream(uploadedBytes);
+ try {
+ final X509Certificate certificate = (X509Certificate) CertificateFactory.getInstance("X.509").
+ generateCertificate(certificateStream);
+
+ final StringBuilder commonNameBuilder = new StringBuilder("cn=");
+
+ final LdapName ldapName = new LdapName(certificate.getIssuerDN().getName());
+
+ for (Rdn rdn : ldapName.getRdns()) {
+ if ("CN".equalsIgnoreCase(rdn.getType())) {
+ commonNameBuilder.append(rdn.getValue() == null
+ ? StringUtils.EMPTY
+ : rdn.getValue().toString());
+ }
+ }
+ commonNameLabel.setDefaultModelObject(commonNameBuilder.toString());
+ } catch (Exception e) {
+ LOG.error("Error evaluating certificate file", e);
+ throw new IllegalArgumentException("Error evaluating certificate file", e);
+ } finally {
+ IOUtils.closeQuietly(certificateStream);
+ }
+ return this.add(commonNameLabel);
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java
new file mode 100644
index 0000000..6ab90a7
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryImagePreviewer.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.form.preview;
+
+import org.apache.syncope.client.console.preview.BinaryPreview;
+import org.apache.wicket.Component;
+import org.apache.wicket.extensions.markup.html.image.resource.ThumbnailImageResource;
+import org.apache.wicket.markup.html.image.NonCachingImage;
+import org.apache.wicket.request.resource.DynamicImageResource;
+import org.apache.wicket.request.resource.IResource;
+
+@BinaryPreview(mimeTypes = { "image/jpeg", "image/png", "image/gif", "image/bmp", "image/x-png", "image/vnd.wap.wbmp" })
+public class BinaryImagePreviewer extends AbstractBinaryPreviewer {
+
+ private static final long serialVersionUID = 3338812359368457349L;
+
+ private static final int IMG_SIZE = 230;
+
+ public BinaryImagePreviewer(final String id, final String mimeType, final byte[] uploadedBytes) {
+ super(id, mimeType, uploadedBytes);
+ }
+
+ @Override
+ public Component preview() {
+ return this.add(new NonCachingImage("previewImage", new ThumbnailImageResource(new DynamicImageResource() {
+
+ private static final long serialVersionUID = 923201517955737928L;
+
+ @Override
+ protected byte[] getImageData(final IResource.Attributes attributes) {
+ return uploadedBytes;
+ }
+ }, IMG_SIZE)));
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/link/VeilPopupSettings.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/link/VeilPopupSettings.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/link/VeilPopupSettings.java
new file mode 100644
index 0000000..51c8ec5
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/link/VeilPopupSettings.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.link;
+
+import org.apache.wicket.markup.html.link.PopupSettings;
+
+public class VeilPopupSettings extends PopupSettings {
+
+ private static final long serialVersionUID = -2727046117490858226L;
+
+ @Override
+ public String getPopupJavaScript() {
+ return "document.getElementById('veil').style.display = 'block';" + super.getPopupJavaScript();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/AltListView.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/AltListView.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/AltListView.java
new file mode 100644
index 0000000..5a491ae
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/AltListView.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.list;
+
+import java.util.List;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.model.IModel;
+
+public abstract class AltListView<T> extends ListView<T> {
+
+ private static final long serialVersionUID = 251378224847354710L;
+
+ public AltListView(final String id) {
+ super(id);
+ }
+
+ public AltListView(final String id, final IModel<? extends List<? extends T>> model) {
+ super(id, model);
+ }
+
+ public AltListView(final String id, final List<? extends T> list) {
+ super(id, list);
+ }
+
+ @Override
+ protected ListItem<T> newItem(final int index, final IModel<T> itemModel) {
+ return new ListItem<T>(index, itemModel) {
+
+ private static final long serialVersionUID = 5473483270932376694L;
+
+ @Override
+ protected void onComponentTag(final ComponentTag tag) {
+ if (index % 2 == 0) {
+ tag.append("class", "alt", " ");
+ }
+
+ super.onComponentTag(tag);
+ }
+ };
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
new file mode 100644
index 0000000..30775f5
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
@@ -0,0 +1,152 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.list;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPasswordFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.SpinnerFieldPanel;
+import org.apache.syncope.common.lib.types.ConnConfProperty;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.ClassUtils;
+
+public class ConnConfPropertyListView extends AltListView<ConnConfProperty> {
+
+ private static final long serialVersionUID = -5239334900329150316L;
+
+ private static final Logger LOG = LoggerFactory.getLogger(ConnConfPropertyListView.class);
+
+ private final boolean withOverridable;
+
+ private final Set<ConnConfProperty> configuration;
+
+ public ConnConfPropertyListView(final String id, final IModel<? extends List<? extends ConnConfProperty>> model,
+ final boolean withOverridable, final Set<ConnConfProperty> configuration) {
+
+ super(id, model);
+ this.configuration = configuration;
+ this.withOverridable = withOverridable;
+ }
+
+ @Override
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ protected void populateItem(final ListItem<ConnConfProperty> item) {
+ final ConnConfProperty property = item.getModelObject();
+
+ final Label label = new Label("connPropAttrSchema",
+ StringUtils.isBlank(property.getSchema().getDisplayName())
+ ? property.getSchema().getName()
+ : property.getSchema().getDisplayName());
+ item.add(label);
+
+ FieldPanel<? extends Serializable> field;
+ boolean required = false;
+ boolean isArray = false;
+
+ if (property.getSchema().isConfidential()
+ || Constants.GUARDED_STRING.equalsIgnoreCase(property.getSchema().getType())
+ || Constants.GUARDED_BYTE_ARRAY.equalsIgnoreCase(property.getSchema().getType())) {
+
+ field = new AjaxPasswordFieldPanel("panel",
+ label.getDefaultModelObjectAsString(), new Model<String>());
+ ((PasswordTextField) field.getField()).setResetPassword(false);
+
+ required = property.getSchema().isRequired();
+ } else {
+ Class<?> propertySchemaClass;
+ try {
+ propertySchemaClass =
+ ClassUtils.forName(property.getSchema().getType(), ClassUtils.getDefaultClassLoader());
+ if (ClassUtils.isPrimitiveOrWrapper(propertySchemaClass)) {
+ propertySchemaClass = org.apache.commons.lang3.ClassUtils.primitiveToWrapper(propertySchemaClass);
+ }
+ } catch (Exception e) {
+ LOG.error("Error parsing attribute type", e);
+ propertySchemaClass = String.class;
+ }
+
+ if (ClassUtils.isAssignable(Number.class, propertySchemaClass)) {
+ @SuppressWarnings("unchecked")
+ final Class<Number> numberClass = (Class<Number>) propertySchemaClass;
+ field = new SpinnerFieldPanel<Number>("panel",
+ label.getDefaultModelObjectAsString(), numberClass, new Model<Number>(), null, null);
+
+ required = property.getSchema().isRequired();
+ } else if (ClassUtils.isAssignable(Boolean.class, propertySchemaClass)) {
+ field = new AjaxCheckBoxPanel("panel",
+ label.getDefaultModelObjectAsString(), new Model<Boolean>());
+ } else {
+ field = new AjaxTextFieldPanel("panel",
+ label.getDefaultModelObjectAsString(), new Model<String>());
+
+ required = property.getSchema().isRequired();
+ }
+
+ if (propertySchemaClass.isArray()) {
+ isArray = true;
+ }
+ }
+
+ field.setTitle(property.getSchema().getHelpMessage());
+
+ if (required) {
+ field.addRequiredLabel();
+ }
+
+ if (isArray) {
+ if (property.getValues().isEmpty()) {
+ property.getValues().add(null);
+ }
+
+ final MultiFieldPanel multiFieldPanel = new MultiFieldPanel("panel",
+ new PropertyModel<List<String>>(property, "values"), field);
+ item.add(multiFieldPanel);
+ } else {
+ setNewFieldModel(field, property.getValues());
+ item.add(field);
+ }
+
+ if (withOverridable) {
+ item.add(new AjaxCheckBoxPanel("connPropAttrOverridable",
+ "connPropAttrOverridable", new PropertyModel<Boolean>(property, "overridable")));
+ }
+
+ configuration.add(property);
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ private void setNewFieldModel(final FieldPanel field, final List<Object> values) {
+ field.setNewModel(values);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
new file mode 100644
index 0000000..50db23c
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.tree;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import javax.swing.tree.DefaultMutableTreeNode;
+import org.apache.syncope.common.lib.to.RoleTO;
+import org.apache.wicket.MetaDataKey;
+import org.apache.wicket.Session;
+
+public class DefaultMutableTreeNodeExpansion implements Set<DefaultMutableTreeNode>, Serializable {
+
+ private static final long serialVersionUID = -2864060875425661224L;
+
+ private static MetaDataKey<DefaultMutableTreeNodeExpansion> KEY =
+ new MetaDataKey<DefaultMutableTreeNodeExpansion>() {
+
+ private static final long serialVersionUID = 3109256773218160485L;
+
+ };
+
+ private Set<Long> ids = new HashSet<Long>();
+
+ private boolean inverse;
+
+ public void expandAll() {
+ ids.clear();
+
+ inverse = true;
+ }
+
+ public void collapseAll() {
+ ids.clear();
+
+ inverse = false;
+ }
+
+ @Override
+ public boolean add(final DefaultMutableTreeNode node) {
+ RoleTO roleTO = (RoleTO) node.getUserObject();
+ boolean isAdded;
+ if (inverse) {
+ isAdded = ids.remove(roleTO.getKey());
+ } else {
+ isAdded = ids.add(roleTO.getKey());
+ }
+ return isAdded;
+ }
+
+ @Override
+ public boolean remove(final Object object) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) object;
+ RoleTO roleTO = (RoleTO) node.getUserObject();
+ boolean isRemoved;
+ if (inverse) {
+ isRemoved = ids.add(roleTO.getKey());
+ } else {
+ isRemoved = ids.remove(roleTO.getKey());
+ }
+ return isRemoved;
+ }
+
+ @Override
+ public boolean contains(final Object object) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) object;
+ RoleTO roleTO = (RoleTO) node.getUserObject();
+ boolean isContained;
+ if (inverse) {
+ isContained = !ids.contains(roleTO.getKey());
+ } else {
+ isContained = ids.contains(roleTO.getKey());
+ }
+ return isContained;
+ }
+
+ @Override
+ public void clear() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public int size() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <A> A[] toArray(final A[] a) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Iterator<DefaultMutableTreeNode> iterator() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Object[] toArray() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends DefaultMutableTreeNode> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Get the expansion for the session.
+ *
+ * @return expansion
+ */
+ public static DefaultMutableTreeNodeExpansion get() {
+ DefaultMutableTreeNodeExpansion expansion = Session.get().getMetaData(KEY);
+ if (expansion == null) {
+ expansion = new DefaultMutableTreeNodeExpansion();
+
+ Session.get().setMetaData(KEY, expansion);
+ }
+ return expansion;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansionModel.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansionModel.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansionModel.java
new file mode 100644
index 0000000..1b342bd
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansionModel.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.tree;
+
+import java.util.Set;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+
+import org.apache.wicket.model.AbstractReadOnlyModel;
+
+public class DefaultMutableTreeNodeExpansionModel
+ extends AbstractReadOnlyModel<Set<DefaultMutableTreeNode>> {
+
+ private static final long serialVersionUID = -3407581132184748054L;
+
+ @Override
+ public Set<DefaultMutableTreeNode> getObject() {
+ return DefaultMutableTreeNodeExpansion.get();
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java
new file mode 100644
index 0000000..b0be4e9
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.tree;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+import org.apache.syncope.client.console.commons.RoleTreeBuilder;
+import org.apache.syncope.client.console.commons.XMLRolesReader;
+import org.apache.syncope.client.console.pages.Roles.TreeNodeClickUpdate;
+import org.apache.syncope.common.lib.to.RoleTO;
+import org.apache.wicket.Component;
+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;
+import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree;
+import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
+import org.apache.wicket.extensions.markup.html.repeater.tree.NestedTree;
+import org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder;
+import org.apache.wicket.extensions.markup.html.repeater.tree.theme.WindowsTheme;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.spring.injection.annot.SpringBean;
+
+public class TreeRolePanel extends Panel {
+
+ private static final long serialVersionUID = 1762003213871836869L;
+
+ @SpringBean
+ private RoleTreeBuilder roleTreeBuilder;
+
+ @SpringBean
+ private XMLRolesReader xmlRolesReader;
+
+ private WebMarkupContainer treeContainer;
+
+ private NestedTree<DefaultMutableTreeNode> tree;
+
+ public TreeRolePanel(final String id) {
+ super(id);
+
+ treeContainer = new WebMarkupContainer("treeContainer");
+ treeContainer.setOutputMarkupId(true);
+ add(treeContainer);
+ updateTree();
+ }
+
+ private void updateTree() {
+ final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true);
+ final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel();
+
+ tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) {
+
+ private static final long serialVersionUID = 7137658050662575546L;
+
+ @Override
+ protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) {
+ final DefaultMutableTreeNode treeNode = node.getObject();
+ final RoleTO roleTO = (RoleTO) treeNode.getUserObject();
+
+ return new Folder<DefaultMutableTreeNode>(id, TreeRolePanel.this.tree, node) {
+
+ private static final long serialVersionUID = 9046323319920426493L;
+
+ @Override
+ protected boolean isClickable() {
+ return true;
+ }
+
+ @Override
+ protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) {
+ return new Model<>(roleTO.getDisplayName());
+ }
+
+ @Override
+ protected void onClick(final AjaxRequestTarget target) {
+ super.onClick(target);
+
+ send(getPage(), Broadcast.BREADTH, new TreeNodeClickUpdate(target, roleTO.getKey()));
+ }
+ };
+ }
+ };
+ tree.add(new WindowsTheme());
+ tree.setOutputMarkupId(true);
+
+ DefaultMutableTreeNodeExpansion.get().expandAll();
+
+ MetaDataRoleAuthorizationStrategy.authorize(tree, ENABLE, xmlRolesReader.getEntitlement("Roles", "read"));
+
+ treeContainer.addOrReplace(tree);
+ }
+
+ @Override
+ public void onEvent(final IEvent<?> event) {
+ super.onEvent(event);
+
+ if (event.getPayload() instanceof TreeNodeClickUpdate) {
+ final TreeNodeClickUpdate update = (TreeNodeClickUpdate) event.getPayload();
+ updateTree();
+ update.getTarget().add(treeContainer);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java
new file mode 100644
index 0000000..6fbe9a4
--- /dev/null
+++ b/syncope620/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.client.console.wicket.markup.html.tree;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+import org.apache.syncope.client.console.commons.RoleTreeBuilder;
+import org.apache.wicket.extensions.markup.html.repeater.util.TreeModelProvider;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class TreeRoleProvider extends TreeModelProvider<DefaultMutableTreeNode> {
+
+ private static final long serialVersionUID = -7741964777100892335L;
+
+ public TreeRoleProvider(final RoleTreeBuilder roleTreeBuilder) {
+ this(roleTreeBuilder, false);
+ }
+
+ public TreeRoleProvider(final RoleTreeBuilder roleTreeBuilder, final boolean rootVisible) {
+ super(roleTreeBuilder.build(), rootVisible);
+ }
+
+ @Override
+ public IModel<DefaultMutableTreeNode> model(final DefaultMutableTreeNode treeNode) {
+ return new Model<DefaultMutableTreeNode>(treeNode);
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/bulk.css
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/bulk.css b/syncope620/client/console/src/main/resources/META-INF/resources/css/bulk.css
new file mode 100644
index 0000000..1f0e621
--- /dev/null
+++ b/syncope620/client/console/src/main/resources/META-INF/resources/css/bulk.css
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+th.checkGroupColumn{
+ width: 20px;
+}
+
+td.checkGroupColumn{
+ text-align: center;
+}
+
+div.bulkAction{
+ display:inline-table;
+}
+
+div.bulkActionCell{
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+ width: 40px;
+ padding-left: 7px;
+}
+
+.pageRowElement{
+ display: inline-table;
+ width: 95%;
+}
+
+div#selectedObjects{
+ text-align: center;
+ margin-top: 10px;
+}
+
+div#selectedObjects table {
+ margin: 1em 0;
+ border-collapse: collapse;
+}
+
+div#selectedObjects table td, div#selectedObjects table th {
+ border: 1px solid #eee;
+ padding: .6em 10px;
+}
+
+div#actionRow{
+ height: 30px;
+ overflow: hidden;
+ text-align: left;
+ margin-top: 10px;
+}
+
+div#actions{
+ display: inline-table;
+ height: 30px;
+ overflow: hidden;
+}
+
+div#actions div#actionPanel{
+ display: table-cell;
+ height: 30px;
+ overflow: hidden;
+ cursor: auto;
+ background: none;
+ padding: 0px 10px;
+ vertical-align: middle;
+}
+
+div#actions div#cancelBtmForm{
+ display: table-cell;
+ height: 30px;
+ overflow: hidden;
+ vertical-align: middle;
+ padding-left: 3px;
+}
+
+div#actions div#cancelBtmForm form{
+ padding: 0px;
+ margin: 0px;
+}
+
+div#actions div#cancelBtmForm form input#cancel{
+ padding: 0.6em 1em;
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css b/syncope620/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
new file mode 100644
index 0000000..23ef109
--- /dev/null
+++ b/syncope620/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
@@ -0,0 +1,191 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+.drop_button{
+ vertical-align: middle;
+}
+
+.add_button{
+ vertical-align: middle;
+ margin-left: 6px;
+}
+
+.date_size{
+ width: 90px;
+}
+
+.long_dynamicsize{
+ width: 80%;
+}
+
+.medium_dynamicsize{
+ width: 45%;
+}
+
+.short_dynamicsize{
+ width: 35%;
+}
+
+.long_fixedsize{
+ width: 500px;
+}
+
+.medium_fixedsize{
+ width: 300px;
+}
+
+.short_fixedsize{
+ width: 150px;
+}
+
+.veryshort_fixedsize{
+ width: 70px;
+}
+
+.all_dynamicsize{
+ 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: 99%;
+}
+
+div.tablerow.connectorProp {
+ height:22px;
+ vertical-align: middle;
+ font-size: 12px;
+}
+
+div.tablecolumn_connPropAttr {
+ display: table-cell;
+ vertical-align: middle;
+}
+
+div.tablerow2 {
+ display: inline-table;
+ padding: 5px 0px 5px 0px;
+ width: 99%;
+}
+
+div.alt {
+ background: #eff3ea;
+}
+
+div.tablecolumn_label{
+ display: table-cell;
+ font-size: 12px;
+ vertical-align: middle;
+ font-family: Verdana,Tahoma,sans-serif;
+ width: 30%;
+}
+
+div.tablecolumn_field{
+ display: table-cell;
+ vertical-align: middle;
+ font-family: Verdana,Tahoma,sans-serif;
+ width: 70%;
+}
+
+div.tablecolumn_check{
+ display: table-cell;
+ margin-right: 5px;
+ margin-left: 2px;
+ vertical-align: middle;
+}
+
+div.tablecolumn2_label{
+ display: table-cell;
+ font-size: 12px;
+ vertical-align: middle;
+ font-family: Verdana,Tahoma,sans-serif;
+ padding-left: 5px;
+ width: 15%;
+}
+
+div.tablecolumn2_field{
+ display: table-cell;
+ vertical-align: middle;
+ font-family: Verdana,Tahoma,sans-serif;
+ width: 35%;
+}
+
+.ui-tabs .ui-tabs-panel {
+ background: none repeat scroll 0 0 #FFFFFF;
+ border-width: 0;
+ display: block;
+ overflow: auto;
+ padding: 1em 1.4em;
+}
+
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 12px;
+ padding: 2px 4px;
+}
+
+.ui-widget-header {
+ border: 1px solid #aaaaaa
+ /*{borderColorHeader}*/;
+ background: #cccccc
+ /*{bgColorHeader}*/
+ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)
+ /*{bgImgUrlHeader}*/
+ 50%/*{bgHeaderXPos}*/
+ 50%/*{bgHeaderYPos}*/
+ repeat-x/*{bgHeaderRepeat}*/;
+ color: #222222/*{fcHeader}*/;
+ font-weight: bold;
+ padding: 7px 15px;
+}
+
+.ui-button {
+ display: inline-block;
+ position: relative;
+ margin-right: .1em;
+ cursor: pointer;
+ text-align: center;
+ zoom: 1;
+ overflow: visible;
+ padding: 7px 15px;
+}
+
+.ui-spinner-button {
+ cursor: default;
+ display: block;
+ font-size: 0.5em;
+ height: 50%;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ right: 0;
+ text-align: center;
+ width: 16px;
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
new file mode 100644
index 0000000..64ece57
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_diagonals-thick_20_666666_40x40.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 0000000..fc9ef06
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100_greennotused.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100_greennotused.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100_greennotused.png
new file mode 100644
index 0000000..b3d1999
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_flat_0_aaaaaa_40x100_greennotused.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_55_fbf9ee_1x400.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000..ad3d634
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_55_fbf9ee_1x400.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_65_ffffff_1x400.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_65_ffffff_1x400.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 0000000..42ccba2
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_65_ffffff_1x400.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_dadada_1x400.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_dadada_1x400.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000..5a46b47
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_dadada_1x400.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_e6e6e6_1x400.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000..86c2baa
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_75_e6e6e6_1x400.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_95_fef1ec_1x400.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_95_fef1ec_1x400.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000..4443fdc
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_glass_95_fef1ec_1x400.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000..5749fc4
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_greynotused.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_greynotused.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_greynotused.png
new file mode 100644
index 0000000..7c9fa6c
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_greynotused.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_red.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_red.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_red.png
new file mode 100644
index 0000000..4632529
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-bg_highlight-soft_75_cccccc_1x100_red.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_222222_256x240.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_222222_256x240.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000..ee039dc
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_222222_256x240.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_2e83ff_256x240.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_2e83ff_256x240.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000..45e8928
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_2e83ff_256x240.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_454545_256x240.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_454545_256x240.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000..7ec70d1
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_454545_256x240.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_888888_256x240.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_888888_256x240.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000..5ba708c
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_888888_256x240.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_cd0a0a_256x240.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_cd0a0a_256x240.png b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000..7930a55
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/css/images/ui-icons_cd0a0a_256x240.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/css/style.css
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/css/style.css b/syncope620/client/console/src/main/resources/META-INF/resources/css/style.css
new file mode 100644
index 0000000..54d8f50
--- /dev/null
+++ b/syncope620/client/console/src/main/resources/META-INF/resources/css/style.css
@@ -0,0 +1,550 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+body {
+ margin: 0px;
+ padding: 0px;
+ font-family: Verdana, Tahoma, sans-serif;
+ color: #333;
+ font-size: 62.5%;
+}
+
+/* id */
+#tabs {
+ margin: 0px 5px;
+ margin-top: 5px;
+}
+#roletabs {
+ margin: 0px 5px;
+ margin-top: 5px;
+}
+
+#tabs div {
+ /*background-color: #FFF;*/
+}
+
+#logo {
+ margin-top: 10px;
+ margin-bottom: 6px;
+}
+
+#splash {
+ background: url(../img/sf_testa.png) top repeat-x #B9CFB3;
+ width: 400px;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 100px;
+ border: 1px solid #463;
+}
+
+#splash a {
+ color: #463;
+ text-decoration: none;
+ font-size: 14px;
+}
+
+a img {
+ border: none;
+}
+
+#splash h2 {
+ color: #FFF;
+ margin: 0px;
+ margin-top: 8px;
+ margin-bottom: 20px;
+ font-size: 14px;
+ text-align: center;
+ font-weight: normal;
+}
+
+#splash form {
+ margin: 6px auto;
+ width: 300px;
+ text-align: center;
+}
+
+#splash form label {
+ margin-right: 5px;
+ display: block;
+}
+
+#splash form label.password {
+}
+
+#splash form input {
+ margin-bottom: 15px;
+}
+
+#splash p {
+ margin: 6px 16px;
+ border-top: 1px solid #463;
+ text-align: center;
+ padding-top: 8px;
+}
+
+#splash ul {
+ height: 320px;
+ margin-left: 37px;
+ padding-left: 28px;
+ margin-top: 25px;
+}
+
+#splash ul li {
+ float: left;
+ width: 90px;
+ text-align: center;
+ list-style: none;
+ margin: 0px;
+}
+
+input[disabled] {
+ background-color: #ddd;
+ background-image: none;
+}
+
+select[disabled] {
+ background-color: #ddd;
+ background-image: none;
+}
+
+#loginFeedbackDiv {
+ width: 100%;
+}
+
+#loginFeedbackDiv ul {
+ list-style:none outside none;
+ margin:0;
+ text-align:center;
+ width: 100%;
+ height: 30px;
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+#loginFeedbackDiv ul li{
+ border:0 none;
+ padding-left: 20px;
+ padding: 1%;
+ padding-top: 2%;
+ list-style:none outside none;
+ margin:0;
+ text-align:center;
+ width: 100%;
+}
+
+#feedbackDiv {
+ height: 20px;
+ margin: 0px;
+ padding: 0px;
+}
+
+#feedbackDiv ul{
+ height: 20px !important;
+ margin: 0px;
+ padding: 0px;
+}
+
+#feedbackDiv li{
+ list-style:none outside none;
+ margin:0;
+ text-align:center;
+ width: 100%;
+}
+#feedbackDiv ul li{
+ list-style:none outside none;
+ margin:0;
+ text-align:center;
+ width: 100%;
+ color: red;
+}
+
+.feedbackPanel {
+ padding-left:20pt;
+ margin-right:20pt;
+}
+
+#navigationPane {
+ background: url(../img/sf_testa.png) top repeat-x #FFF;
+}
+
+#navigationPane a img {
+ border: none;
+}
+
+#navigationPane {
+ height: 103px;
+}
+
+#navigationPane a {
+ color: #FFF;
+ text-decoration: none;
+}
+
+#navigationPane a:hover {
+ color: #CCC;
+}
+
+#navigationPane ul {
+ clear: both;
+ padding: 0px;
+ margin: 0px;
+ margin-left: 280px;
+}
+
+#navigationPane ul li {
+ float: left;
+ width: 90px;
+ text-align: center;
+ margin: 0px;
+ color: #FFF;
+ font-size: 13px;
+ list-style: none;
+ padding: 1px;
+}
+
+#navigationPane span {
+ font-size: 13px;
+}
+
+/* MODAL-FORM */
+div#dialog-form label, div#dialog-form input { display:block; }
+div#dialog-form span.radio label, div#dialog-form span.radio input { margin-top: 4px; margin-bottom: 12px; display:inline; }
+/*div#dialog-form span.checkbox label, div#dialog-form span.checkbox input { margin-top: 4px; margin-bottom: 12px; display:inline; }*/
+div#dialog-form input.text { margin-bottom:12px; width: 95%; padding: .4em; }
+div#dialog-form select.text { margin-bottom:12px; width: auto; padding: .4em; }
+div#dialog-form fieldset { padding:0; border:0; margin-top:25px; }
+div#users-contain { width: 570px; margin-bottom: 20px;}/*width: 350px*/
+div#users-contain table { margin: 1em 0; border-collapse: collapse; width: 100%; }
+div#users-contain table td, div#users-contain table th { border: 1px solid #eee; padding: .6em 10px; }
+div#executions { margin-bottom: 0px;}/*width: 350px*/
+div#executions table { margin: 1em 0; border-collapse: collapse; width: 100%; }
+div#executions table td, div#executions table th { border: 1px solid #eee; padding: .3em 10px; }
+.ui-dialog .ui-state-error { padding: .3em; }
+.validateTips { border: 1px solid transparent; padding: 0.3em; }
+
+/* classi */
+#navigationPane .schema {
+ color: #99C;
+}
+
+#navigationPane a img:hover {
+ opacity:0.5;
+ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
+ filter:alpha(opacity=50)
+}
+
+#splash a img:hover {
+ opacity:0.5;
+ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
+ filter:alpha(opacity=50)
+}
+
+#navigationPane .users {
+ color: #9C0;
+}
+
+#navigationPane .roles {
+ color: #F90;
+}
+
+#navigationPane .resources {
+ color: #09F;
+}
+
+#navigationPane .tasks {
+ color: #FD0;
+}
+
+#navigationPane .todo {
+ color: #F3C98E;
+}
+
+#navigationPane .connectors {
+ color: #09F;
+}
+
+#navigationPane .reports {
+ color: #F66;
+}
+
+#navigationPane .configuration {
+ color: #CCC;
+}
+
+.onerowlabel {
+ float: left;
+}
+
+.onerowcheckbox {
+ margin-left: 10em;
+}
+
+div#attributes-view label {
+ display: block;
+ clear: none;
+ width: 300px;
+ margin-left: 20px;
+}
+
+div#attributes-view input {
+ display: block;
+ float: left;
+ clear: left;
+ height: 12px;
+ padding: 0;
+ margin: 0;
+}
+
+.selectedRow {
+ background-color: #eef1f1; /* alternative: LemonChiffon */
+}
+
+/* WICKET DATATABLE HEADERS */
+.headers {
+ border: 1px solid #aaaaaa;
+ background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)
+ 50% 50% repeat-x;
+}
+
+em {
+ font-size: inherit;
+ color: gray;
+}
+
+em img {
+ opacity:0.4;
+ filter:alpha(opacity=40);
+}
+
+th.action{
+ width: 140px;
+}
+
+td.action{
+ text-align: center;
+}
+
+.navigatorLabel {
+ float: left;
+}
+
+.navigator {
+ text-align: right;
+}
+
+.role-tree {
+ width: 30%;
+ display: block;
+ float: left;
+}
+
+.roleTable {
+ line-height: 1.5em;
+}
+
+.tree-folder-other {
+ padding-top: 2px;
+ display: block;
+ height: 18px;
+}
+
+.tree-folder-open {
+ display: block;
+ height: 18px;
+}
+
+#versionMP {
+ text-align: justify;
+ color: #463;
+ background: url(../img/sf_testa.png) top repeat-x #B9CFB3;
+ border: 1px solid #463;
+ padding: 5px;
+}
+
+#versionMP a {
+ color: white;
+ text-decoration: none;
+}
+
+#versionMP a:hover {
+ color: #463;
+ text-decoration: none;
+}
+
+a.tooltips {
+ position: relative;
+ display: inline;
+ text-decoration: none;
+}
+
+a.tooltips span {
+ position: absolute;
+ width:19em;
+ color: #000000;
+ background: whitesmoke;
+ visibility: hidden;
+ border-radius: 0px;
+ padding: 3px;
+}
+
+a.tooltips span:after {
+ position: absolute;
+ top: 50%;
+ left: 100%;
+ margin-top: -8px;
+ width: 0;
+ height: 0;
+}
+
+a.tooltips span {
+ visibility: visible;
+ opacity: none;
+ right: 100%;
+ top: 50%;
+ margin-right: 4px;
+ margin-top: -11px;
+ border: 1px solid black;
+ z-index: 1000000;
+}
+
+a.tooltips span a {
+ color: #463;
+ text-decoration: none;
+}
+
+.tree-junction-expanded {
+ display: none;
+}
+
+/* Style for autocomplete field */
+div.wicket-aa {
+ font-family: "Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana;
+ font-size: 12px;
+ background-color: white;
+ border-width: 1px;
+ border-color: #cccccc;
+ border-style: solid;
+ padding: 2px;
+ margin: 1px 0 0 0;
+ text-align:left;
+}
+div.wicket-aa ul {
+ list-style:none;
+ padding: 2px;
+ margin:0;
+}
+div.wicket-aa ul li.selected {
+ background-color: #FFFF00;
+ padding: 2px;
+ margin:0;
+}
+
+.notificationpanel {
+ margin: 0px;
+ padding: 0px;
+ border-radius: 5px;
+}
+
+.notificationpanel_bottom_left {
+ bottom: 100px;
+ left: 30px;
+}
+
+.notificationpanel_bottom_detail_form {
+ top: 540px;
+ right: 30px;
+}
+
+.notificationpanel_bottom_right {
+ bottom: 100px;
+ right: 30px;
+}
+
+.notificationpanel_top_right {
+ top: 15px;
+ right: 30px;
+}
+
+/* notification panel info style */
+.notificationpanel_border_200 {
+ color: green;
+ margin: 0px;
+ background:url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") repeat-x scroll 50% 50% #CCCCCC;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border: 1px solid gray;
+ box-shadow: 0px 0px 5px gray;
+}
+
+.notificationpanel_row_INFO {
+ list-style-type: none;
+ color: green;
+}
+
+.notificationpanel_row_INFO span {
+ list-style-type: none;
+ color: green;
+ background: url("../img/ok.png") no-repeat left;
+ border:0 none;
+ padding-left: 20px;
+}
+
+/* notification panel warning style */
+.notificationpanel_border_300 {
+ border: 1px solid orangered;
+ box-shadow: 0px 0px 5px gray;
+}
+
+.notificationpanel_row_WARNING {
+ color: orangered;
+ list-style-type: none;
+ border:0 none;
+ padding-left: 20px;
+}
+
+/* notification panel error style */
+.notificationpanel_border_400 {
+ color: red;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border: 1px solid gray;
+ box-shadow: 0px 0px 5px gray;
+ border-color: red;
+ background-image: -moz-linear-gradient(top, #FF8585 0%, #E60008 100%);
+ background-image: -webkit-linear-gradient(top, #FF8585 0%, #E60008 100%);
+ background-image: -o-linear-gradient(top, #FF8585 0%, #E60008 100%);
+ background-image: -ms-linear-gradient(top, #FF8585 0%, #E60008 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FF8585), color-stop(1, #E60008));
+ font-weight: bold;
+}
+
+.notificationpanel_row_ERROR {
+ list-style-type: none;
+ color: black;
+}
+
+.notificationpanel_row_ERROR span {
+ border:0 none;
+}
+pre {
+ white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
+ white-space: -pre-wrap; /* Opera */
+ white-space: -o-pre-wrap; /* Opera */
+ white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
+ word-wrap: break-word; /* IE 5.5+ */
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/assign-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/assign-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/assign-icon.png
new file mode 100644
index 0000000..f9f2a33
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/assign-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/both-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/both-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/both-icon.png
new file mode 100644
index 0000000..0f98eec
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/both-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/bulk.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/bulk.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/bulk.png
new file mode 100644
index 0000000..ea6d145
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/bulk.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/claim.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/claim.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/claim.png
new file mode 100644
index 0000000..79332c0
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/claim.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/create.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/create.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/create.png
new file mode 100644
index 0000000..3f8faf1
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/create.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/delete.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/delete.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/delete.png
new file mode 100644
index 0000000..1207d8d
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/delete.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/deprovision-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/deprovision-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/deprovision-icon.png
new file mode 100644
index 0000000..4bc2f4e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/deprovision-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/dryrun.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/dryrun.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/dryrun.png
new file mode 100644
index 0000000..910b148
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/dryrun.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/edit.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/edit.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/edit.png
new file mode 100644
index 0000000..80e00db
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/edit.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/enable.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/enable.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/enable.png
new file mode 100644
index 0000000..39ba0ca
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/enable.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/execute.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/execute.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/execute.png
new file mode 100644
index 0000000..443c719
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/execute.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/export.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/export.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/export.png
new file mode 100644
index 0000000..038583b
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/export.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/link-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/link-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/link-icon.png
new file mode 100644
index 0000000..8c166af
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/link-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/manage-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/manage-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/manage-icon.png
new file mode 100644
index 0000000..2e8e190
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/manage-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/none-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/none-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/none-icon.png
new file mode 100644
index 0000000..cc49adb
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/none-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/propagation-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/propagation-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/propagation-icon.png
new file mode 100644
index 0000000..d7fa5e9
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/propagation-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/provision-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/provision-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/provision-icon.png
new file mode 100644
index 0000000..3f8faf1
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/provision-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reactivate.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reactivate.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reactivate.png
new file mode 100644
index 0000000..50503e2
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reactivate.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reload.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reload.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reload.png
new file mode 100644
index 0000000..bbf878e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reload.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reset.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reset.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reset.png
new file mode 100644
index 0000000..bbf878e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/reset.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/resources-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/resources-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/resources-icon.png
new file mode 100644
index 0000000..6240ba9
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/resources-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png
new file mode 100644
index 0000000..9669486
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/search.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/search.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/search.png
new file mode 100644
index 0000000..3ac297e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/search.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/select.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/select.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/select.png
new file mode 100644
index 0000000..f2ea103
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/select.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/settings-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/settings-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/settings-icon.png
new file mode 100644
index 0000000..1da7e05
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/settings-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/suspend.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/suspend.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/suspend.png
new file mode 100644
index 0000000..bd5f0bd
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/suspend.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/synchronization-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/synchronization-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/synchronization-icon.png
new file mode 100644
index 0000000..394b907
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/synchronization-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unassign-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unassign-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unassign-icon.png
new file mode 100644
index 0000000..860dc49
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unassign-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unlink-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unlink-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unlink-icon.png
new file mode 100644
index 0000000..86700a5
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/unlink-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/user_template.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/user_template.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/user_template.png
new file mode 100644
index 0000000..6db6de8
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/user_template.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/users-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/users-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/users-icon.png
new file mode 100644
index 0000000..cfab465
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/actions/users-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/add.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/add.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/add.png
new file mode 100644
index 0000000..043aba8
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/add.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/addAll.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/addAll.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/addAll.png
new file mode 100644
index 0000000..86633fc
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/addAll.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/busy.gif
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/busy.gif b/syncope620/client/console/src/main/resources/META-INF/resources/img/busy.gif
new file mode 100644
index 0000000..e77264f
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/busy.gif differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/db_export.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/db_export.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/db_export.png
new file mode 100644
index 0000000..413cb06
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/db_export.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/disable.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/disable.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/disable.png
new file mode 100644
index 0000000..26fbe85
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/disable.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/down-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/down-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/down-icon.png
new file mode 100644
index 0000000..6f818ee
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/down-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/favicon.ico
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/favicon.ico b/syncope620/client/console/src/main/resources/META-INF/resources/img/favicon.ico
new file mode 100644
index 0000000..599ec2b
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/favicon.ico differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/file-download.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/file-download.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/file-download.png
new file mode 100644
index 0000000..ceae906
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/file-download.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/file-upload.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/file-upload.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/file-upload.png
new file mode 100644
index 0000000..d4a399e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/file-upload.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/help.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/help.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/help.png
new file mode 100644
index 0000000..560064e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/help.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/info.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/info.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/info.png
new file mode 100644
index 0000000..f1a4832
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/info.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/left-icon.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/left-icon.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/left-icon.png
new file mode 100644
index 0000000..03b215c
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/left-icon.png differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/loading.gif
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/loading.gif b/syncope620/client/console/src/main/resources/META-INF/resources/img/loading.gif
new file mode 100644
index 0000000..85b99d4
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/loading.gif differ
http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/client/console/src/main/resources/META-INF/resources/img/logo.png
----------------------------------------------------------------------
diff --git a/syncope620/client/console/src/main/resources/META-INF/resources/img/logo.png b/syncope620/client/console/src/main/resources/META-INF/resources/img/logo.png
new file mode 100644
index 0000000..f05105e
Binary files /dev/null and b/syncope620/client/console/src/main/resources/META-INF/resources/img/logo.png differ