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/12/16 14:38:44 UTC

[25/30] syncope git commit: [SYNCOPE-740] Release process in place, now time to check if it works

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PlainSchemaModalPage.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PlainSchemaModalPage.java b/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PlainSchemaModalPage.java
deleted file mode 100644
index 3adba7d..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PlainSchemaModalPage.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
- * 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.pages;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.commons.JexlHelpUtils;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
-import org.apache.syncope.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.to.PlainSchemaTO;
-import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.syncope.common.lib.types.CipherAlgorithm;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
-import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.util.string.Strings;
-
-/**
- * Modal window with Schema form.
- */
-public class PlainSchemaModalPage extends AbstractSchemaModalPage<PlainSchemaTO> {
-
-    private static final long serialVersionUID = -5991561277287424057L;
-
-    public PlainSchemaModalPage(final AttributableType kind) {
-        super(kind);
-    }
-
-    @Override
-    public void setSchemaModalPage(final PageReference pageRef, final ModalWindow window,
-            final PlainSchemaTO schemaTO, final boolean createFlag) {
-
-        final PlainSchemaTO schema = schemaTO == null
-                ? new PlainSchemaTO()
-                : schemaTO;
-
-        final Form<PlainSchemaTO> schemaForm = new Form<>(FORM);
-
-        schemaForm.setModel(new CompoundPropertyModel<>(schema));
-        schemaForm.setOutputMarkupId(true);
-
-        final AjaxTextFieldPanel name =
-                new AjaxTextFieldPanel("key", getString("key"), new PropertyModel<String>(schema, "key"));
-        name.addRequiredLabel();
-        name.setEnabled(createFlag);
-        schemaForm.add(name);
-
-        final AjaxDropDownChoicePanel<AttrSchemaType> type = new AjaxDropDownChoicePanel<>(
-                "type", getString("type"), new PropertyModel<AttrSchemaType>(schema, "type"));
-        type.setChoices(Arrays.asList(AttrSchemaType.values()));
-        type.addRequiredLabel();
-        schemaForm.add(type);
-
-        // -- long, double, date
-        final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern",
-                getString("conversionPattern"), new PropertyModel<String>(schema, "conversionPattern"));
-        schemaForm.add(conversionPattern);
-
-        final WebMarkupContainer conversionParams = new WebMarkupContainer("conversionParams");
-        conversionParams.setOutputMarkupPlaceholderTag(true);
-        conversionParams.add(conversionPattern);
-        schemaForm.add(conversionParams);
-
-        final WebMarkupContainer typeParams = new WebMarkupContainer("typeParams");
-        typeParams.setOutputMarkupPlaceholderTag(true);
-        // -- enum
-        final AjaxTextFieldPanel enumerationValuesPanel =
-                new AjaxTextFieldPanel("panel", "enumerationValues", new Model<String>(null));
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        final MultiFieldPanel<String> enumerationValues = new MultiFieldPanel<>("enumerationValues",
-                new Model(),
-                enumerationValuesPanel);
-        enumerationValues.setModelObject(getEnumValuesAsList(schema.getEnumerationValues()));
-
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        final MultiFieldPanel<String> enumerationKeys = new MultiFieldPanel<>("enumerationKeys",
-                new Model(),
-                new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>(null)));
-        enumerationKeys.setModelObject(getEnumValuesAsList(schema.getEnumerationKeys()));
-
-        final WebMarkupContainer enumParams = new WebMarkupContainer("enumParams");
-        enumParams.setOutputMarkupPlaceholderTag(true);
-        enumParams.add(enumerationValues);
-        enumParams.add(enumerationKeys);
-        typeParams.add(enumParams);
-
-        // -- encrypted
-        final AjaxTextFieldPanel secretKey = new AjaxTextFieldPanel("secretKey",
-                getString("secretKey"), new PropertyModel<String>(schema, "secretKey"));
-
-        final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm = new AjaxDropDownChoicePanel<>(
-                "cipherAlgorithm", getString("cipherAlgorithm"),
-                new PropertyModel<CipherAlgorithm>(schema, "cipherAlgorithm"));
-        cipherAlgorithm.setChoices(Arrays.asList(CipherAlgorithm.values()));
-
-        final WebMarkupContainer encryptedParams = new WebMarkupContainer("encryptedParams");
-        encryptedParams.setOutputMarkupPlaceholderTag(true);
-        encryptedParams.add(secretKey);
-        encryptedParams.add(cipherAlgorithm);
-        typeParams.add(encryptedParams);
-
-        // -- binary
-        final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType",
-                getString("mimeType"), new PropertyModel<String>(schema, "mimeType"));
-        mimeType.setChoices(mimeTypesInitializer.getMimeTypes());
-
-        final WebMarkupContainer binaryParams = new WebMarkupContainer("binaryParams");
-        binaryParams.setOutputMarkupPlaceholderTag(true);
-        binaryParams.add(mimeType);
-        typeParams.add(binaryParams);
-
-        schemaForm.add(typeParams);
-
-        // -- show or hide
-        showHide(schema, type,
-                conversionParams, conversionPattern,
-                enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys,
-                encryptedParams, secretKey, cipherAlgorithm,
-                binaryParams, mimeType);
-        type.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                PlainSchemaModalPage.this.showHide(schema, type,
-                        conversionParams, conversionPattern,
-                        enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys,
-                        encryptedParams, secretKey, cipherAlgorithm,
-                        binaryParams, mimeType);
-                target.add(typeParams);
-            }
-        });
-
-        final IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() {
-
-            private static final long serialVersionUID = 5275935387613157437L;
-
-            @Override
-            protected List<String> load() {
-                return schemaRestClient.getAllValidatorClasses();
-            }
-        };
-        final AjaxDropDownChoicePanel<String> validatorClass = new AjaxDropDownChoicePanel<>("validatorClass",
-                getString("validatorClass"), new PropertyModel<String>(schema, "validatorClass"));
-        ((DropDownChoice) validatorClass.getField()).setNullValid(true);
-        validatorClass.setChoices(validatorsList.getObject());
-        schemaForm.add(validatorClass);
-
-        final AutoCompleteTextField<String> mandatoryCondition =
-                new AutoCompleteTextField<String>("mandatoryCondition") {
-
-                    private static final long serialVersionUID = -2428903969518079100L;
-
-                    @Override
-                    protected Iterator<String> getChoices(final String input) {
-                        List<String> choices = new ArrayList<String>();
-
-                        if (Strings.isEmpty(input)) {
-                            choices = Collections.emptyList();
-                        } else if ("true".startsWith(input.toLowerCase())) {
-                            choices.add("true");
-                        } else if ("false".startsWith(input.toLowerCase())) {
-                            choices.add("false");
-                        }
-
-                        return choices.iterator();
-                    }
-                };
-        mandatoryCondition.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-            }
-        });
-        schemaForm.add(mandatoryCondition);
-
-        final WebMarkupContainer pwdJexlHelp = JexlHelpUtils.getJexlHelpWebContainer("jexlHelp");
-
-        final AjaxLink<Void> pwdQuestionMarkJexlHelp = JexlHelpUtils.getAjaxLink(pwdJexlHelp, "questionMarkJexlHelp");
-        schemaForm.add(pwdQuestionMarkJexlHelp);
-        pwdQuestionMarkJexlHelp.add(pwdJexlHelp);
-
-        final AjaxCheckBoxPanel multivalue = new AjaxCheckBoxPanel("multivalue", getString("multivalue"),
-                new PropertyModel<Boolean>(schema, "multivalue"));
-        schemaForm.add(multivalue);
-
-        final AjaxCheckBoxPanel readonly = new AjaxCheckBoxPanel("readonly", getString("readonly"),
-                new PropertyModel<Boolean>(schema, "readonly"));
-        schemaForm.add(readonly);
-
-        final AjaxCheckBoxPanel uniqueConstraint = new AjaxCheckBoxPanel("uniqueConstraint",
-                getString("uniqueConstraint"), new PropertyModel<Boolean>(schema, "uniqueConstraint"));
-        schemaForm.add(uniqueConstraint);
-
-        final AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(SUBMIT)) {
-
-            private static final long serialVersionUID = -958724007591692537L;
-
-            @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                final PlainSchemaTO schemaTO = (PlainSchemaTO) form.getDefaultModelObject();
-
-                schemaTO.setEnumerationValues(getEnumValuesAsString(enumerationValues.getView().getModelObject()));
-                schemaTO.setEnumerationKeys(getEnumValuesAsString(enumerationKeys.getView().getModelObject()));
-
-                if (schemaTO.isMultivalue() && schemaTO.isUniqueConstraint()) {
-                    error(getString("multivalueAndUniqueConstr.validation"));
-                    feedbackPanel.refresh(target);
-                    return;
-                }
-
-                try {
-                    if (createFlag) {
-                        schemaRestClient.createPlainSchema(kind, schemaTO);
-                    } else {
-                        schemaRestClient.updatePlainSchema(kind, schemaTO);
-                    }
-                    if (pageRef.getPage() instanceof BasePage) {
-                        ((BasePage) pageRef.getPage()).setModalResult(true);
-                    }
-
-                    window.close(target);
-                } catch (SyncopeClientException e) {
-                    error(getString(Constants.ERROR) + ": " + e.getMessage());
-                    feedbackPanel.refresh(target);
-                }
-            }
-
-            @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
-                feedbackPanel.refresh(target);
-            }
-        };
-        schemaForm.add(submit);
-
-        final AjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) {
-
-            private static final long serialVersionUID = -958724007591692537L;
-
-            @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                window.close(target);
-            }
-        };
-        cancel.setDefaultFormProcessing(false);
-        schemaForm.add(cancel);
-
-        String allowedRoles = createFlag
-                ? xmlRolesReader.getEntitlement("Schema", "create")
-                : xmlRolesReader.getEntitlement("Schema", "update");
-
-        MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, allowedRoles);
-
-        add(schemaForm);
-    }
-
-    private void showHide(final PlainSchemaTO schema, final AjaxDropDownChoicePanel<AttrSchemaType> type,
-            final WebMarkupContainer conversionParams, final AjaxTextFieldPanel conversionPattern,
-            final WebMarkupContainer enumParams, final AjaxTextFieldPanel enumerationValuesPanel,
-            final MultiFieldPanel<String> enumerationValues, final MultiFieldPanel<String> enumerationKeys,
-            final WebMarkupContainer encryptedParams,
-            final AjaxTextFieldPanel secretKey, final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm,
-            final WebMarkupContainer binaryParams, final AjaxTextFieldPanel mimeType) {
-
-        final int typeOrdinal = Integer.parseInt(type.getField().getValue());
-        if (AttrSchemaType.Long.ordinal() == typeOrdinal
-                || AttrSchemaType.Double.ordinal() == typeOrdinal
-                || AttrSchemaType.Date.ordinal() == typeOrdinal) {
-
-            conversionParams.setVisible(true);
-
-            enumParams.setVisible(false);
-            if (enumerationValuesPanel.isRequired()) {
-                enumerationValuesPanel.removeRequiredLabel();
-            }
-            enumerationValues.setModelObject(getEnumValuesAsList(null));
-            enumerationKeys.setModelObject(getEnumValuesAsList(null));
-
-            encryptedParams.setVisible(false);
-            if (secretKey.isRequired()) {
-                secretKey.removeRequiredLabel();
-            }
-            secretKey.setModelObject(null);
-            if (cipherAlgorithm.isRequired()) {
-                cipherAlgorithm.removeRequiredLabel();
-            }
-            cipherAlgorithm.setModelObject(null);
-
-            binaryParams.setVisible(false);
-            mimeType.setModelObject(null);
-        } else if (AttrSchemaType.Enum.ordinal() == typeOrdinal) {
-            conversionParams.setVisible(false);
-            conversionPattern.setModelObject(null);
-
-            enumParams.setVisible(true);
-            if (!enumerationValuesPanel.isRequired()) {
-                enumerationValuesPanel.addRequiredLabel();
-            }
-            enumerationValues.setModelObject(getEnumValuesAsList(schema.getEnumerationValues()));
-            enumerationKeys.setModelObject(getEnumValuesAsList(schema.getEnumerationKeys()));
-
-            encryptedParams.setVisible(false);
-            if (secretKey.isRequired()) {
-                secretKey.removeRequiredLabel();
-            }
-            secretKey.setModelObject(null);
-            if (cipherAlgorithm.isRequired()) {
-                cipherAlgorithm.removeRequiredLabel();
-            }
-            cipherAlgorithm.setModelObject(null);
-
-            binaryParams.setVisible(false);
-            mimeType.setModelObject(null);
-        } else if (AttrSchemaType.Encrypted.ordinal() == typeOrdinal) {
-            conversionParams.setVisible(false);
-            conversionPattern.setModelObject(null);
-
-            enumParams.setVisible(false);
-            if (enumerationValuesPanel.isRequired()) {
-                enumerationValuesPanel.removeRequiredLabel();
-            }
-            enumerationValues.setModelObject(getEnumValuesAsList(null));
-            enumerationKeys.setModelObject(getEnumValuesAsList(null));
-
-            encryptedParams.setVisible(true);
-            if (!secretKey.isRequired()) {
-                secretKey.addRequiredLabel();
-            }
-            if (cipherAlgorithm.isRequired()) {
-                cipherAlgorithm.addRequiredLabel();
-            }
-
-            binaryParams.setVisible(false);
-            mimeType.setModelObject(null);
-        } else if (AttrSchemaType.Binary.ordinal() == typeOrdinal) {
-            conversionParams.setVisible(false);
-            conversionPattern.setModelObject(null);
-
-            enumParams.setVisible(false);
-            if (enumerationValuesPanel.isRequired()) {
-                enumerationValuesPanel.removeRequiredLabel();
-            }
-            enumerationValues.setModelObject(getEnumValuesAsList(null));
-            enumerationKeys.setModelObject(getEnumValuesAsList(null));
-
-            encryptedParams.setVisible(false);
-            if (secretKey.isRequired()) {
-                secretKey.removeRequiredLabel();
-            }
-            secretKey.setModelObject(null);
-            if (cipherAlgorithm.isRequired()) {
-                cipherAlgorithm.removeRequiredLabel();
-            }
-            cipherAlgorithm.setModelObject(null);
-
-            binaryParams.setVisible(true);
-        } else {
-            conversionParams.setVisible(false);
-            conversionPattern.setModelObject(null);
-
-            enumParams.setVisible(false);
-            if (enumerationValuesPanel.isRequired()) {
-                enumerationValuesPanel.removeRequiredLabel();
-            }
-            enumerationValues.setModelObject(getEnumValuesAsList(null));
-            enumerationKeys.setModelObject(getEnumValuesAsList(null));
-
-            encryptedParams.setVisible(false);
-            if (secretKey.isRequired()) {
-                secretKey.removeRequiredLabel();
-            }
-            secretKey.setModelObject(null);
-            if (cipherAlgorithm.isRequired()) {
-                cipherAlgorithm.removeRequiredLabel();
-            }
-            cipherAlgorithm.setModelObject(null);
-
-            binaryParams.setVisible(false);
-            mimeType.setModelObject(null);
-        }
-    }
-
-    private String getEnumValuesAsString(final List<String> enumerationValues) {
-        final StringBuilder builder = new StringBuilder();
-
-        for (String str : enumerationValues) {
-            if (StringUtils.isNotBlank(str)) {
-                if (builder.length() > 0) {
-                    builder.append(SyncopeConstants.ENUM_VALUES_SEPARATOR);
-                }
-
-                builder.append(str.trim());
-            }
-        }
-
-        return builder.toString();
-    }
-
-    private List<String> getEnumValuesAsList(final String enumerationValues) {
-        final List<String> values = new ArrayList<String>();
-
-        if (StringUtils.isNotBlank(enumerationValues)) {
-            for (String value : enumerationValues.split(SyncopeConstants.ENUM_VALUES_SEPARATOR)) {
-                values.add(value.trim());
-            }
-        } else {
-            values.add(StringUtils.EMPTY);
-        }
-
-        return values;
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PolicyModalPage.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PolicyModalPage.java b/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PolicyModalPage.java
deleted file mode 100644
index ead376a..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PolicyModalPage.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * 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.pages;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.panels.NotificationPanel;
-import org.apache.syncope.client.console.panels.PolicyBeanPanel;
-import org.apache.syncope.client.console.rest.PolicyRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.to.AbstractPolicyTO;
-import org.apache.syncope.common.lib.to.AccountPolicyTO;
-import org.apache.syncope.common.lib.to.PasswordPolicyTO;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.SyncPolicyTO;
-import org.apache.syncope.common.lib.types.AccountPolicySpec;
-import org.apache.syncope.common.lib.types.PasswordPolicySpec;
-import org.apache.syncope.common.lib.types.PolicySpec;
-import org.apache.syncope.common.lib.types.PolicyType;
-import org.apache.syncope.common.lib.types.SyncPolicySpec;
-import org.apache.wicket.Page;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;
-import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Fragment;
-import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-/**
- * Modal window with Resource form.
- */
-public class PolicyModalPage<T extends AbstractPolicyTO<?>> extends BaseModalPage {
-
-    private static final long serialVersionUID = -7325772767481076679L;
-
-    private static final int WIN_HEIGHT = 600;
-
-    private static final int WIN_WIDTH = 1100;
-
-    @SpringBean
-    private PolicyRestClient policyRestClient;
-
-    public PolicyModalPage(final PageReference pageRef, final ModalWindow window, final T policyTO) {
-        super();
-
-        final Form<?> form = new Form<>(FORM);
-        form.setOutputMarkupId(true);
-        add(form);
-
-        final AjaxTextFieldPanel policyid =
-                new AjaxTextFieldPanel("key", "key", new PropertyModel<String>(policyTO, "key"));
-        policyid.setEnabled(false);
-        policyid.setStyleSheet("ui-widget-content ui-corner-all short_fixedsize");
-        form.add(policyid);
-
-        final AjaxTextFieldPanel description = new AjaxTextFieldPanel("description", "description",
-                new PropertyModel<String>(policyTO, "description"));
-        description.addRequiredLabel();
-        description.setStyleSheet("ui-widget-content ui-corner-all medium_dynamicsize");
-        form.add(description);
-
-        final AjaxDropDownChoicePanel<PolicyType> type =
-                new AjaxDropDownChoicePanel<>("type", "type", new PropertyModel<PolicyType>(policyTO, "type"));
-        switch (policyTO.getType()) {
-            case GLOBAL_ACCOUNT:
-            case ACCOUNT:
-                type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_ACCOUNT, PolicyType.ACCOUNT }));
-                break;
-
-            case GLOBAL_PASSWORD:
-            case PASSWORD:
-                type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_PASSWORD, PolicyType.PASSWORD }));
-                break;
-
-            case GLOBAL_SYNC:
-            case SYNC:
-                type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_SYNC, PolicyType.SYNC }));
-
-            default:
-        }
-        type.setChoiceRenderer(new PolicyTypeRenderer());
-        type.addRequiredLabel();
-        form.add(type);
-
-        // Authentication resources - only for AccountPolicyTO
-        Fragment fragment;
-        if (policyTO instanceof AccountPolicyTO) {
-            fragment = new Fragment("forAccountOnly", "authResourcesFragment", form);
-
-            final List<String> resourceNames = new ArrayList<>();
-            for (ResourceTO resource : resourceRestClient.getAll()) {
-                resourceNames.add(resource.getKey());
-            }
-            fragment.add(new AjaxPalettePanel<>("authResources",
-                    new PropertyModel<List<String>>(policyTO, "resources"),
-                    new ListModel<>(resourceNames)));
-        } else {
-            fragment = new Fragment("forAccountOnly", "emptyFragment", form);
-        }
-        form.add(fragment);
-        //
-
-        final PolicySpec policy = getPolicySpecification(policyTO);
-
-        form.add(new PolicyBeanPanel("panel", policy));
-
-        final ModalWindow mwindow = new ModalWindow("metaEditModalWin");
-        mwindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
-        mwindow.setInitialHeight(WIN_HEIGHT);
-        mwindow.setInitialWidth(WIN_WIDTH);
-        mwindow.setCookieName("meta-edit-modal");
-        add(mwindow);
-
-        List<IColumn<String, String>> resColumns = new ArrayList<>();
-        resColumns.add(new AbstractColumn<String, String>(new StringResourceModel("name", this, null, "")) {
-
-            private static final long serialVersionUID = 2054811145491901166L;
-
-            @Override
-            public void populateItem(final Item<ICellPopulator<String>> cellItem,
-                    final String componentId, final IModel<String> rowModel) {
-
-                cellItem.add(new Label(componentId, rowModel.getObject()));
-            }
-        });
-        resColumns.add(new AbstractColumn<String, String>(new StringResourceModel("actions", this, null, "")) {
-
-            private static final long serialVersionUID = 2054811145491901166L;
-
-            @Override
-            public String getCssClass() {
-                return "action";
-            }
-
-            @Override
-            public void populateItem(final Item<ICellPopulator<String>> cellItem, final String componentId,
-                    final IModel<String> model) {
-
-                final String resource = model.getObject();
-
-                final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference());
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -3722207913631435501L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-                        mwindow.setPageCreator(new ModalWindow.PageCreator() {
-
-                            private static final long serialVersionUID = -7834632442532690940L;
-
-                            @Override
-                            public Page createPage() {
-                                return new ResourceModalPage(PolicyModalPage.this.getPageReference(),
-                                        mwindow, resourceRestClient.read(resource), false);
-                            }
-                        });
-
-                        mwindow.show(target);
-                    }
-                }, ActionLink.ActionType.EDIT, "Resources");
-
-                cellItem.add(panel);
-            }
-        });
-        ISortableDataProvider<String, String> resDataProvider = new SortableDataProvider<String, String>() {
-
-            private static final long serialVersionUID = 8263758912838836438L;
-
-            @Override
-            public Iterator<? extends String> iterator(final long first, final long count) {
-                return policyTO.getKey() == 0
-                        ? Collections.<String>emptyList().iterator()
-                        : policyRestClient.getPolicy(policyTO.getKey()).
-                        getUsedByResources().subList((int) first, (int) first + (int) count).iterator();
-            }
-
-            @Override
-            public long size() {
-                return policyTO.getKey() == 0
-                        ? 0
-                        : policyRestClient.getPolicy(policyTO.getKey()).
-                        getUsedByResources().size();
-            }
-
-            @Override
-            public IModel<String> model(final String object) {
-                return new Model<>(object);
-            }
-        };
-        final AjaxFallbackDefaultDataTable<String, String> resources =
-                new AjaxFallbackDefaultDataTable<>("resources", resColumns, resDataProvider, 10);
-        form.add(resources);
-
-        List<IColumn<GroupTO, String>> groupColumns = new ArrayList<>();
-        groupColumns.add(new PropertyColumn<GroupTO, String>(new ResourceModel("key", "key"), "key", "key"));
-        groupColumns.add(new PropertyColumn<GroupTO, String>(new ResourceModel("name", "name"), "name", "name"));
-        groupColumns.add(new AbstractColumn<GroupTO, String>(new StringResourceModel("actions", this, null, "")) {
-
-            private static final long serialVersionUID = 2054811145491901166L;
-
-            @Override
-            public String getCssClass() {
-                return "action";
-            }
-
-            @Override
-            public void populateItem(final Item<ICellPopulator<GroupTO>> cellItem, final String componentId,
-                    final IModel<GroupTO> model) {
-
-                final GroupTO group = model.getObject();
-
-                final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference());
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -3722207913631435501L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-                        mwindow.setPageCreator(new ModalWindow.PageCreator() {
-
-                            private static final long serialVersionUID = -7834632442532690940L;
-
-                            @Override
-                            public Page createPage() {
-                                return new GroupModalPage(PolicyModalPage.this.getPageReference(), mwindow, group);
-                            }
-                        });
-
-                        mwindow.show(target);
-                    }
-                }, ActionLink.ActionType.EDIT, "Groups");
-
-                cellItem.add(panel);
-            }
-        });
-        ISortableDataProvider<GroupTO, String> groupDataProvider = new SortableDataProvider<GroupTO, String>() {
-
-            private static final long serialVersionUID = 8263758912838836438L;
-
-            @Override
-            public Iterator<? extends GroupTO> iterator(final long first, final long count) {
-                List<GroupTO> groups = new ArrayList<>();
-
-                if (policyTO.getKey() > 0) {
-                    for (Long groupId : policyRestClient.getPolicy(policyTO.getKey()).getUsedByGroups().
-                            subList((int) first, (int) first + (int) count)) {
-
-                        groups.add(groupRestClient.read(groupId));
-                    }
-                }
-
-                return groups.iterator();
-            }
-
-            @Override
-            public long size() {
-                return policyTO.getKey() == 0
-                        ? 0
-                        : policyRestClient.getPolicy(policyTO.getKey()).getUsedByGroups().size();
-            }
-
-            @Override
-            public IModel<GroupTO> model(final GroupTO object) {
-                return new Model<>(object);
-            }
-        };
-        final AjaxFallbackDefaultDataTable<GroupTO, String> groups =
-                new AjaxFallbackDefaultDataTable<>("groups", groupColumns, groupDataProvider, 10);
-        form.add(groups);
-
-        mwindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                target.add(resources);
-                target.add(groups);
-                if (isModalResult()) {
-                    info(getString(Constants.OPERATION_SUCCEEDED));
-                    feedbackPanel.refresh(target);
-                    setModalResult(false);
-                }
-            }
-        });
-
-        final AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(APPLY)) {
-
-            private static final long serialVersionUID = -958724007591692537L;
-
-            @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                setPolicySpecification(policyTO, policy);
-
-                try {
-                    if (policyTO.getKey() > 0) {
-                        policyRestClient.updatePolicy(policyTO);
-                    } else {
-                        policyRestClient.createPolicy(policyTO);
-                    }
-                    ((BasePage) pageRef.getPage()).setModalResult(true);
-
-                    window.close(target);
-                } catch (Exception e) {
-                    LOG.error("While creating policy", e);
-
-                    error(getString(Constants.ERROR) + ": " + e.getMessage());
-                    ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                }
-            }
-
-            @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
-                ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-            }
-        };
-        form.add(submit);
-
-        final IndicatingAjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) {
-
-            private static final long serialVersionUID = -958724007591692537L;
-
-            @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                window.close(target);
-            }
-
-            @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
-            }
-        };
-        cancel.setDefaultFormProcessing(false);
-        form.add(cancel);
-    }
-
-    private PolicySpec getPolicySpecification(final AbstractPolicyTO policyTO) {
-        PolicySpec spec;
-
-        switch (policyTO.getType()) {
-            case GLOBAL_ACCOUNT:
-            case ACCOUNT:
-                spec = ((AccountPolicyTO) policyTO).getSpecification() != null
-                        ? ((AccountPolicyTO) policyTO).getSpecification()
-                        : new AccountPolicySpec();
-                break;
-
-            case GLOBAL_PASSWORD:
-            case PASSWORD:
-                spec = ((PasswordPolicyTO) policyTO).getSpecification() != null
-                        ? ((PasswordPolicyTO) policyTO).getSpecification()
-                        : new PasswordPolicySpec();
-                break;
-
-            case GLOBAL_SYNC:
-            case SYNC:
-            default:
-                spec = ((SyncPolicyTO) policyTO).getSpecification() != null
-                        ? ((SyncPolicyTO) policyTO).getSpecification()
-                        : new SyncPolicySpec();
-        }
-
-        return spec;
-    }
-
-    private void setPolicySpecification(final AbstractPolicyTO policyTO, final PolicySpec specification) {
-        switch (policyTO.getType()) {
-            case GLOBAL_ACCOUNT:
-            case ACCOUNT:
-                if (!(specification instanceof AccountPolicySpec)) {
-                    throw new ClassCastException("policy is type Account, but spec is not: "
-                            + specification.getClass().getName());
-                }
-                ((AccountPolicyTO) policyTO).setSpecification((AccountPolicySpec) specification);
-                break;
-
-            case GLOBAL_PASSWORD:
-            case PASSWORD:
-                if (!(specification instanceof PasswordPolicySpec)) {
-                    throw new ClassCastException("policy is type Password, but spec is not: "
-                            + specification.getClass().getName());
-                }
-                ((PasswordPolicyTO) policyTO).setSpecification((PasswordPolicySpec) specification);
-                break;
-
-            case GLOBAL_SYNC:
-            case SYNC:
-                if (!(specification instanceof SyncPolicySpec)) {
-                    throw new ClassCastException("policy is type Sync, but spec is not: "
-                            + specification.getClass().getName());
-                }
-                ((SyncPolicyTO) policyTO).setSpecification((SyncPolicySpec) specification);
-
-            default:
-        }
-    }
-
-    private class PolicyTypeRenderer extends ChoiceRenderer<PolicyType> {
-
-        private static final long serialVersionUID = -8993265421104002134L;
-
-        @Override
-        public Object getDisplayValue(final PolicyType object) {
-            return getString(object.name());
-        }
-    };
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PropagationTaskModalPage.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PropagationTaskModalPage.java b/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PropagationTaskModalPage.java
deleted file mode 100644
index 5a6779f..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PropagationTaskModalPage.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.pages;
-
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.to.AbstractTaskTO;
-import org.apache.wicket.model.PropertyModel;
-
-/**
- * Modal window with Task form (to stop and start execution).
- */
-public class PropagationTaskModalPage extends TaskModalPage {
-
-    private static final long serialVersionUID = 523379887023786151L;
-
-    public PropagationTaskModalPage(final AbstractTaskTO taskTO) {
-        super(taskTO);
-
-        final AjaxTextFieldPanel accountId = new AjaxTextFieldPanel("accountId", getString("accountId"),
-                new PropertyModel<String>(taskTO, "accountId"));
-        accountId.setEnabled(false);
-        profile.add(accountId);
-
-        final AjaxTextFieldPanel resource = new AjaxTextFieldPanel("resource", getString("resource"),
-                new PropertyModel<String>(taskTO, "resource"));
-        resource.setEnabled(false);
-        profile.add(resource);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java b/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
deleted file mode 100644
index 6418d61..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * 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.pages;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.commons.status.AbstractStatusBeanProvider;
-import org.apache.syncope.client.console.commons.status.ConnObjectWrapper;
-import org.apache.syncope.client.console.commons.status.StatusBean;
-import org.apache.syncope.client.console.commons.status.StatusUtils;
-import org.apache.syncope.client.console.panels.ActionDataTablePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.lib.SyncopeClient;
-import org.apache.syncope.common.lib.to.AbstractAttributableTO;
-import org.apache.syncope.common.lib.to.AbstractSubjectTO;
-import org.apache.syncope.common.lib.to.BulkActionResult;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.common.lib.types.ResourceDeassociationActionType;
-import org.apache.syncope.common.lib.wrap.AbstractWrappable;
-import org.apache.syncope.common.lib.wrap.SubjectKey;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.StringResourceModel;
-
-public class ProvisioningModalPage<T extends AbstractAttributableTO> extends AbstractStatusModalPage {
-
-    private static final long serialVersionUID = -4285220460543213901L;
-
-    private static final int ROWS_PER_PAGE = 10;
-
-    private final ResourceTO resourceTO;
-
-    private final Class<? extends AbstractAttributableTO> typeRef;
-
-    private final PageReference pageRef;
-
-    private final ModalWindow window;
-
-    private final StatusUtils statusUtils;
-
-    public ProvisioningModalPage(
-            final PageReference pageRef,
-            final ModalWindow window,
-            final ResourceTO resourceTO,
-            final Class<T> typeRef) {
-
-        super();
-
-        this.pageRef = pageRef;
-        this.window = window;
-        this.resourceTO = resourceTO;
-        this.typeRef = typeRef;
-
-        statusUtils = new StatusUtils((UserTO.class.isAssignableFrom(typeRef) ? userRestClient : groupRestClient));
-
-        add(new Label("displayName", StringUtils.EMPTY));
-
-        final List<IColumn<StatusBean, String>> columns = new ArrayList<>();
-        columns.add(new PropertyColumn<StatusBean, String>(
-                new StringResourceModel("key", this, null, "Attributable key"),
-                "attributableKey", "attributableKey"));
-        columns.add(new PropertyColumn<StatusBean, String>(
-                new StringResourceModel("name", this, null, "Attributable name"),
-                "attributableName", "attributableName"));
-        columns.add(new PropertyColumn<StatusBean, String>(
-                new StringResourceModel("resourceName", this, null, "Resource name"),
-                "resourceName", "resourceName"));
-        columns.add(new PropertyColumn<StatusBean, String>(
-                new StringResourceModel("accountLink", this, null, "Account link"),
-                "accountLink", "accountLink"));
-        columns.add(new AbstractColumn<StatusBean, String>(
-                new StringResourceModel("status", this, null, "")) {
-
-                    private static final long serialVersionUID = -3503023501954863131L;
-
-                    @Override
-                    public String getCssClass() {
-                        return "action";
-                    }
-
-                    @Override
-                    public void populateItem(
-                            final Item<ICellPopulator<StatusBean>> cellItem,
-                            final String componentId,
-                            final IModel<StatusBean> model) {
-                                cellItem.
-                                add(statusUtils.getStatusImagePanel(componentId, model.getObject().getStatus()));
-                            }
-                });
-
-        final ActionDataTablePanel<StatusBean, String> table = new ActionDataTablePanel<>(
-                "resourceDatatable",
-                columns,
-                (ISortableDataProvider<StatusBean, String>) new StatusBeanProvider(),
-                ROWS_PER_PAGE,
-                pageRef);
-
-        final String pageId = "Resources";
-
-        table.addAction(new ActionLink() {
-
-            private static final long serialVersionUID = -3722207913631435501L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target) {
-                try {
-                    bulkAssociationAction(target, ResourceDeassociationActionType.UNLINK, table, columns);
-                } catch (Exception e) {
-                    LOG.error("Error unlinkink resources", e);
-                    error(getString(Constants.ERROR) + ": " + e.getMessage());
-                    feedbackPanel.refresh(target);
-                }
-            }
-        }, ActionLink.ActionType.UNLINK, pageId);
-
-        table.addAction(new ActionLink() {
-
-            private static final long serialVersionUID = -3722207913631435501L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target) {
-                try {
-                    bulkAssociationAction(target, ResourceDeassociationActionType.DEPROVISION, table, columns);
-                } catch (Exception e) {
-                    LOG.error("Error de-provisioning user", e);
-                    error(getString(Constants.ERROR) + ": " + e.getMessage());
-                    feedbackPanel.refresh(target);
-                }
-            }
-        }, ActionLink.ActionType.DEPROVISION, pageId);
-
-        table.addAction(new ActionLink() {
-
-            private static final long serialVersionUID = -3722207913631435501L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target) {
-                try {
-                    bulkAssociationAction(target, ResourceDeassociationActionType.UNASSIGN, table, columns);
-                } catch (Exception e) {
-                    LOG.error("Error unassigning resources", e);
-                    error(getString(Constants.ERROR) + ": " + e.getMessage());
-                    feedbackPanel.refresh(target);
-                }
-            }
-        }, ActionLink.ActionType.UNASSIGN, pageId);
-
-        table.addCancelButton(window);
-
-        add(table);
-    }
-
-    private class StatusBeanProvider extends AbstractStatusBeanProvider {
-
-        private static final long serialVersionUID = 4287357360778016173L;
-
-        public StatusBeanProvider() {
-            super("accountLink");
-        }
-
-        @SuppressWarnings("unchecked")
-        @Override
-        public List<StatusBean> getStatusBeans() {
-            final String fiql = SyncopeClient.getUserSearchConditionBuilder().hasResources(resourceTO.getKey()).query();
-
-            final List<T> subjects = new ArrayList<>();
-            if (UserTO.class.isAssignableFrom(typeRef)) {
-                subjects.addAll((List<T>) userRestClient.search(fiql, 1, ROWS_PER_PAGE, new SortParam<>("key", true)));
-            } else {
-                subjects.addAll((List<T>) groupRestClient.search(fiql, 1, ROWS_PER_PAGE, new SortParam<>("key", true)));
-            }
-
-            final List<ConnObjectWrapper> connObjects = statusUtils.getConnectorObjects(
-                    (List<AbstractSubjectTO>) subjects, Collections.<String>singleton(resourceTO.getKey()));
-
-            final List<StatusBean> statusBeans = new ArrayList<>(connObjects.size() + 1);
-            final LinkedHashMap<String, StatusBean> initialStatusBeanMap = new LinkedHashMap<>(connObjects.size());
-
-            for (ConnObjectWrapper entry : connObjects) {
-                final StatusBean statusBean = statusUtils.getStatusBean(entry.getAttributable(),
-                        entry.getResourceName(),
-                        entry.getConnObjectTO(),
-                        GroupTO.class.isAssignableFrom(typeRef));
-
-                initialStatusBeanMap.put(entry.getResourceName(), statusBean);
-                statusBeans.add(statusBean);
-            }
-
-            return statusBeans;
-        }
-    }
-
-    private void bulkAssociationAction(
-            final AjaxRequestTarget target,
-            final ResourceDeassociationActionType type,
-            final ActionDataTablePanel<StatusBean, String> table,
-            final List<IColumn<StatusBean, String>> columns) {
-
-        final List<StatusBean> beans = new ArrayList<>(table.getModelObject());
-        List<SubjectKey> subjectKeys = new ArrayList<>();
-        for (StatusBean bean : beans) {
-            LOG.debug("Selected bean {}", bean);
-            subjectKeys.add(AbstractWrappable.getInstance(SubjectKey.class, bean.getAttributableId()));
-        }
-
-        if (beans.isEmpty()) {
-            window.close(target);
-        } else {
-            final BulkActionResult res = resourceRestClient.bulkAssociationAction(
-                    resourceTO.getKey(), typeRef, type, subjectKeys);
-
-            ((BasePage) pageRef.getPage()).setModalResult(true);
-
-            setResponsePage(new BulkActionResultModalPage<>(window, beans, columns, res, "attributableKey"));
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PushTaskModalPage.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PushTaskModalPage.java b/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PushTaskModalPage.java
deleted file mode 100644
index 51852be..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/PushTaskModalPage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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.pages;
-
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.panels.GroupSearchPanel;
-import org.apache.syncope.client.console.panels.UserSearchPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.common.lib.to.PushTaskTO;
-import org.apache.syncope.common.lib.to.SchedTaskTO;
-import org.apache.syncope.common.lib.types.MatchingRule;
-import org.apache.syncope.common.lib.types.UnmatchingRule;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.model.Model;
-
-/**
- * Modal window with Push Task form.
- */
-public class PushTaskModalPage extends AbstractSyncTaskModalPage {
-
-    private static final long serialVersionUID = 2148403203517274669L;
-
-    private final UserSearchPanel userFilter;
-
-    private final GroupSearchPanel groupFilter;
-
-    private final AjaxCheckBoxPanel checkUserFilter;
-
-    private final AjaxCheckBoxPanel checkGroupFilter;
-
-    @Override
-    protected List<String> getSyncActions() {
-        return taskRestClient.getPushActionsClasses();
-    }
-
-    public PushTaskModalPage(final ModalWindow window, final PushTaskTO taskTO, final PageReference pageRef) {
-
-        super(window, taskTO, pageRef);
-
-        // set default Matching rule
-        ((DropDownChoice) matchingRule.getField()).setDefaultModelObject(taskTO.getMatchingRule() == null
-                ? MatchingRule.UPDATE
-                : taskTO.getMatchingRule());
-        profile.add(matchingRule);
-
-        // set default Unmatching rule
-        ((DropDownChoice) unmatchingRule.getField()).setDefaultModelObject(taskTO.getUnmatchingRule() == null
-                ? UnmatchingRule.ASSIGN
-                : taskTO.getUnmatchingRule());
-        profile.add(unmatchingRule);
-
-        final WebMarkupContainer filterContainer = new WebMarkupContainer("filterContainer");
-        filterContainer.setOutputMarkupId(true);
-
-        checkUserFilter = new AjaxCheckBoxPanel("checkUserFilter", "checkUserFilter",
-                new Model<>(taskTO.getUserFilter() != null));
-        filterContainer.add(checkUserFilter);
-
-        checkGroupFilter = new AjaxCheckBoxPanel("checkGroupFilter", "checkGroupFilter",
-                new Model<>(taskTO.getGroupFilter() != null));
-        filterContainer.add(checkGroupFilter);
-
-        userFilter = new UserSearchPanel.Builder("userFilter").fiql(taskTO.getUserFilter()).build();
-        userFilter.setEnabled(checkUserFilter.getModelObject());
-
-        filterContainer.add(userFilter);
-
-        groupFilter = new GroupSearchPanel.Builder("groupFilter").fiql(taskTO.getGroupFilter()).build();
-        groupFilter.setEnabled(checkGroupFilter.getModelObject());
-        filterContainer.add(groupFilter);
-
-        checkUserFilter.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                userFilter.setEnabled(checkUserFilter.getModelObject());
-                target.add(filterContainer);
-            }
-        });
-
-        checkGroupFilter.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                groupFilter.setEnabled(checkGroupFilter.getModelObject());
-                target.add(filterContainer);
-            }
-        });
-
-        profile.add(filterContainer);
-    }
-
-    @Override
-    public void submitAction(final SchedTaskTO taskTO) {
-        setFilters((PushTaskTO) taskTO);
-        if (taskTO.getKey() > 0) {
-            taskRestClient.updateSchedTask((PushTaskTO) taskTO);
-        } else {
-            taskRestClient.createSchedTask((PushTaskTO) taskTO);
-        }
-    }
-
-    private void setFilters(final PushTaskTO pushTaskTO) {
-        // set user filter if enabled
-        pushTaskTO.setUserFilter(checkUserFilter.getModelObject() ? userFilter.buildFIQL() : null);
-        // set group filter if enabled
-        pushTaskTO.setGroupFilter(checkGroupFilter.getModelObject() ? groupFilter.buildFIQL() : null);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ReportExecResultDownloadModalPage.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ReportExecResultDownloadModalPage.java b/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ReportExecResultDownloadModalPage.java
deleted file mode 100644
index c6b57d2..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/pages/ReportExecResultDownloadModalPage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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.pages;
-
-import java.util.Arrays;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.common.lib.types.ReportExecExportFormat;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.form.IChoiceRenderer;
-import org.apache.wicket.model.Model;
-
-public class ReportExecResultDownloadModalPage extends BaseModalPage {
-
-    private static final long serialVersionUID = 3163146190501510888L;
-
-    public ReportExecResultDownloadModalPage(final ModalWindow window, final PageReference callerPageRef) {
-
-        final AjaxDropDownChoicePanel<ReportExecExportFormat> format =
-                new AjaxDropDownChoicePanel<>("format", "format", new Model<ReportExecExportFormat>());
-
-        format.setChoices(Arrays.asList(ReportExecExportFormat.values()));
-
-        format.setChoiceRenderer(new IChoiceRenderer<ReportExecExportFormat>() {
-
-            private static final long serialVersionUID = -3941271550163141339L;
-
-            @Override
-            public Object getDisplayValue(final ReportExecExportFormat object) {
-                return object.name();
-            }
-
-            @Override
-            public String getIdValue(final ReportExecExportFormat object, final int index) {
-
-                return object.name();
-            }
-        });
-
-        format.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                format.getField();
-
-                ((ReportModalPage) callerPageRef.getPage()).setExportFormat(format.getField().getModelObject());
-                window.close(target);
-            }
-        });
-        add(format);
-    }
-}