syncope-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ilgro...@apache.org
Subject [18/30] syncope git commit: [SYNCOPE-740] Release process in place, now time to check if it works
Date Wed, 16 Dec 2015 13:38:37 GMT
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PoliciesPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PoliciesPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PoliciesPanel.java
deleted file mode 100644
index 4d66eda..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PoliciesPanel.java
+++ /dev/null
@@ -1,343 +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.panels;
-
-import java.util.ArrayList;
-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.commons.PreferenceManager;
-import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
-import org.apache.syncope.client.console.commons.XMLRolesReader;
-import org.apache.syncope.client.console.pages.BasePage;
-import org.apache.syncope.client.console.pages.PolicyModalPage;
-import org.apache.syncope.client.console.rest.PolicyRestClient;
-import org.apache.syncope.client.console.wicket.ajax.markup.html.ClearIndicatingAjaxLink;
-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.common.lib.SyncopeClientException;
-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.SyncPolicyTO;
-import org.apache.syncope.common.lib.types.PolicyType;
-import org.apache.wicket.Page;
-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.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-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.sort.SortOrder;
-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.PropertyColumn;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.request.http.WebResponse;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class PoliciesPanel extends Panel {
-
-    /**
-     * Logger.
-     */
-    private static final Logger LOG = LoggerFactory.getLogger(PoliciesPanel.class);
-
-    private static final int MODAL_WIN_HEIGHT = 400;
-
-    private static final int MODAL_WIN_WIDTH = 1000;
-
-    private static final long serialVersionUID = -6804066913177804275L;
-
-    @SpringBean
-    private PolicyRestClient policyRestClient;
-
-    @SpringBean
-    protected XMLRolesReader xmlRolesReader;
-
-    @SpringBean
-    private PreferenceManager prefMan;
-
-    private final PageReference pageRef;
-
-    private final int paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_POLICY_PAGINATOR_ROWS);
-
-    protected boolean modalResult = false;
-
-    private final PolicyType policyType;
-
-    public PoliciesPanel(final String id, final PageReference pageRef, final PolicyType policyType) {
-        super(id);
-        this.pageRef = pageRef;
-        this.policyType = policyType;
-
-        // Modal window for editing user attributes
-        final ModalWindow mwindow = new ModalWindow("editModalWin");
-        mwindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
-        mwindow.setInitialHeight(MODAL_WIN_HEIGHT);
-        mwindow.setInitialWidth(MODAL_WIN_WIDTH);
-        mwindow.setCookieName("policy-modal");
-        add(mwindow);
-
-        // Container for user list
-        final WebMarkupContainer container = new WebMarkupContainer("container");
-        container.setOutputMarkupId(true);
-        add(container);
-
-        setWindowClosedCallback(mwindow, container);
-
-        final List<IColumn<AbstractPolicyTO, String>> columns = new ArrayList<>();
-
-        columns.add(new PropertyColumn<AbstractPolicyTO, String>(new ResourceModel("key"), "key", "key"));
-
-        columns.add(new PropertyColumn<AbstractPolicyTO, String>(
-                new ResourceModel("description"), "description", "description"));
-
-        columns.add(new AbstractColumn<AbstractPolicyTO, String>(new ResourceModel("type")) {
-
-            private static final long serialVersionUID = 8263694778917279290L;
-
-            @Override
-            public void populateItem(final Item<ICellPopulator<AbstractPolicyTO>> cellItem, final String componentId,
-                    final IModel<AbstractPolicyTO> model) {
-
-                cellItem.add(new Label(componentId, getString(model.getObject().getType().name())));
-            }
-        });
-
-        columns.add(new AbstractColumn<AbstractPolicyTO, String>(new ResourceModel("actions", "")) {
-
-            private static final long serialVersionUID = 2054811145491901166L;
-
-            @Override
-            public String getCssClass() {
-                return "action";
-            }
-
-            @Override
-            public void populateItem(final Item<ICellPopulator<AbstractPolicyTO>> cellItem, final String componentId,
-                    final IModel<AbstractPolicyTO> model) {
-
-                final AbstractPolicyTO policyTO = model.getObject();
-
-                final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, pageRef);
-
-                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;
-
-                            @SuppressWarnings({ "unchecked", "rawtypes" })
-                            @Override
-                            public Page createPage() {
-                                return new PolicyModalPage(pageRef, mwindow, policyTO);
-                            }
-                        });
-
-                        mwindow.show(target);
-                    }
-                }, ActionLink.ActionType.EDIT, "Policies");
-
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -3722207913631435501L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-                        try {
-                            policyRestClient.delete(policyTO.getKey(), policyTO.getClass());
-                            info(getString(Constants.OPERATION_SUCCEEDED));
-                        } catch (SyncopeClientException e) {
-                            error(getString(Constants.OPERATION_ERROR));
-
-                            LOG.error("While deleting policy {}({})",
-                                    policyTO.getKey(), policyTO.getDescription(), e);
-                        }
-
-                        target.add(container);
-                        ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                    }
-                }, ActionLink.ActionType.DELETE, "Policies");
-
-                cellItem.add(panel);
-            }
-        });
-
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        final AjaxFallbackDefaultDataTable table = new AjaxFallbackDefaultDataTable("datatable", columns,
-                new PolicyDataProvider(), paginatorRows);
-
-        container.add(table);
-
-        final AjaxLink<Void> createButton = new ClearIndicatingAjaxLink<Void>("createLink", pageRef) {
-
-            private static final long serialVersionUID = -7978723352517770644L;
-
-            @Override
-            protected void onClickInternal(final AjaxRequestTarget target) {
-                mwindow.setPageCreator(new ModalWindow.PageCreator() {
-
-                    private static final long serialVersionUID = -7834632442532690940L;
-
-                    @SuppressWarnings({ "unchecked", "rawtypes" })
-                    @Override
-                    public Page createPage() {
-                        return new PolicyModalPage(pageRef, mwindow, getPolicyTOInstance(policyType));
-                    }
-                });
-
-                mwindow.show(target);
-            }
-        };
-
-        add(createButton);
-
-        MetaDataRoleAuthorizationStrategy.authorize(
-                createButton, ENABLE, xmlRolesReader.getEntitlement("Policies", "create"));
-
-        @SuppressWarnings("rawtypes")
-        final Form paginatorForm = new Form("PaginatorForm");
-
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        final DropDownChoice rowsChooser = new DropDownChoice("rowsChooser", new PropertyModel(this, "paginatorRows"),
-                prefMan.getPaginatorChoices());
-
-        rowsChooser.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                prefMan.set(getWebRequest(), (WebResponse) getResponse(), Constants.PREF_POLICY_PAGINATOR_ROWS, String
-                        .valueOf(paginatorRows));
-                table.setItemsPerPage(paginatorRows);
-
-                target.add(container);
-            }
-        });
-
-        paginatorForm.add(rowsChooser);
-        add(paginatorForm);
-    }
-
-    private void setWindowClosedCallback(final ModalWindow window, final WebMarkupContainer container) {
-        window.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                target.add(container);
-                BasePage configuration = ((BasePage) pageRef.getPage());
-                if (configuration.isModalResult()) {
-                    info(getString(Constants.OPERATION_SUCCEEDED));
-                    configuration.getFeedbackPanel().refresh(target);
-                    configuration.setModalResult(false);
-                }
-            }
-        });
-    }
-
-    private class PolicyDataProvider extends SortableDataProvider<AbstractPolicyTO, String> {
-
-        private static final long serialVersionUID = -6976327453925166730L;
-
-        private final SortableDataProviderComparator<AbstractPolicyTO> comparator;
-
-        public PolicyDataProvider() {
-            super();
-
-            //Default sorting
-            setSort("description", SortOrder.ASCENDING);
-
-            comparator = new SortableDataProviderComparator<AbstractPolicyTO>(this);
-        }
-
-        @Override
-        public long size() {
-            return policyRestClient.getPolicies(policyType, true).size();
-        }
-
-        @Override
-        public Iterator<AbstractPolicyTO> iterator(final long first, final long count) {
-            final List<AbstractPolicyTO> policies = policyRestClient.getPolicies(policyType, true);
-
-            Collections.sort(policies, comparator);
-
-            return policies.subList((int) first, (int) first + (int) count).iterator();
-        }
-
-        @Override
-        public IModel<AbstractPolicyTO> model(final AbstractPolicyTO object) {
-            return new CompoundPropertyModel<AbstractPolicyTO>(object);
-        }
-    }
-
-    private AbstractPolicyTO getPolicyTOInstance(final PolicyType policyType) {
-        AbstractPolicyTO policyTO;
-        switch (policyType) {
-            case GLOBAL_ACCOUNT:
-                policyTO = new AccountPolicyTO(true);
-                break;
-
-            case ACCOUNT:
-                policyTO = new AccountPolicyTO();
-                break;
-
-            case GLOBAL_PASSWORD:
-                policyTO = new PasswordPolicyTO(true);
-                break;
-
-            case PASSWORD:
-                policyTO = new PasswordPolicyTO();
-                break;
-
-            case GLOBAL_SYNC:
-                policyTO = new SyncPolicyTO(true);
-                break;
-
-            case SYNC:
-            default:
-                policyTO = new SyncPolicyTO();
-        }
-
-        return policyTO;
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PolicyBeanPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PolicyBeanPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PolicyBeanPanel.java
deleted file mode 100644
index a55be9f..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PolicyBeanPanel.java
+++ /dev/null
@@ -1,340 +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.panels;
-
-import java.beans.PropertyDescriptor;
-import java.io.Serializable;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.rest.PolicyRestClient;
-import org.apache.syncope.client.console.rest.SchemaRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.AbstractFieldPanel;
-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.AjaxPalettePanel;
-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.client.console.wicket.markup.html.list.AltListView;
-import org.apache.syncope.common.lib.annotation.ClassList;
-import org.apache.syncope.common.lib.annotation.SchemaList;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.syncope.common.lib.types.PolicySpec;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.Panel;
-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.model.util.ListModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
-import org.springframework.util.ClassUtils;
-import org.springframework.util.ReflectionUtils;
-import org.springframework.util.ReflectionUtils.FieldCallback;
-import org.springframework.util.ReflectionUtils.FieldFilter;
-
-public class PolicyBeanPanel extends Panel {
-
-    private static final long serialVersionUID = -3035998190456928143L;
-
-    /**
-     * Logger.
-     */
-    private static final Logger LOG = LoggerFactory.getLogger(PolicyBeanPanel.class);
-
-    @SpringBean
-    private SchemaRestClient schemaRestClient;
-
-    @SpringBean
-    private PolicyRestClient policyRestClient;
-
-    final IModel<List<String>> userSchemas = new LoadableDetachableModel<List<String>>() {
-
-        private static final long serialVersionUID = -2012833443695917883L;
-
-        @Override
-        protected List<String> load() {
-            return schemaRestClient.getPlainSchemaNames(AttributableType.USER);
-        }
-    };
-
-    final IModel<List<String>> groupSchemas = new LoadableDetachableModel<List<String>>() {
-
-        private static final long serialVersionUID = 5275935387613157437L;
-
-        @Override
-        protected List<String> load() {
-            return schemaRestClient.getPlainSchemaNames(AttributableType.GROUP);
-        }
-    };
-
-    final IModel<List<String>> correlationRules = new LoadableDetachableModel<List<String>>() {
-
-        private static final long serialVersionUID = 5275935387613157437L;
-
-        @Override
-        protected List<String> load() {
-            return policyRestClient.getCorrelationRuleClasses();
-        }
-    };
-
-    public PolicyBeanPanel(final String id, final PolicySpec policy) {
-        super(id);
-
-        final List<FieldWrapper> items = new ArrayList<>();
-        ReflectionUtils.doWithFields(policy.getClass(), new FieldCallback() {
-
-            @Override
-            public void doWith(final Field field) throws IllegalArgumentException, IllegalAccessException {
-                FieldWrapper fieldWrapper = new FieldWrapper();
-                fieldWrapper.setName(field.getName());
-                fieldWrapper.setType(field.getType());
-
-                final SchemaList schemaList = field.getAnnotation(SchemaList.class);
-                fieldWrapper.setSchemaList(schemaList);
-
-                final ClassList classList = field.getAnnotation(ClassList.class);
-                fieldWrapper.setClassList(classList);
-
-                items.add(fieldWrapper);
-            }
-        },
-                new FieldFilter() {
-
-                    @Override
-                    public boolean matches(final Field field) {
-                        return !Modifier.isStatic(field.getModifiers()) && !"serialVersionUID".equals(field.getName());
-                    }
-                });
-
-        final ListView<FieldWrapper> policies = new AltListView<FieldWrapper>("policies", items) {
-
-            private static final long serialVersionUID = 9101744072914090143L;
-
-            @Override
-            @SuppressWarnings({ "unchecked", "rawtypes" })
-            protected void populateItem(final ListItem<FieldWrapper> item) {
-                final FieldWrapper field = item.getModelObject();
-
-                final PropertyDescriptor propDesc = BeanUtils.getPropertyDescriptor(policy.getClass(), field.getName());
-
-                item.add(new Label("label", new ResourceModel(field.getName())));
-
-                AbstractFieldPanel component;
-                try {
-                    if (field.getClassList() != null) {
-                        component = new AjaxDropDownChoicePanel("field", field.getName(), new PropertyModel(policy,
-                                field.getName()));
-
-                        final List<String> rules = correlationRules.getObject();
-
-                        if (rules != null && !rules.isEmpty()) {
-                            ((AjaxDropDownChoicePanel) component).setChoices(correlationRules.getObject());
-                        }
-
-                        item.add(component);
-
-                        item.add(getActivationControl(
-                                component,
-                                propDesc.getReadMethod().invoke(policy, new Object[] {}) != null,
-                                null,
-                                null));
-
-                    } else if (field.getType().isEnum()) {
-                        component = new AjaxDropDownChoicePanel("field", field.getName(), new PropertyModel(policy,
-                                field.getName()));
-
-                        final Serializable[] values = (Serializable[]) field.getType().getEnumConstants();
-
-                        if (values != null && values.length > 0) {
-                            ((AjaxDropDownChoicePanel) component).setChoices(Arrays.asList(values));
-                        }
-
-                        item.add(component);
-
-                        item.add(getActivationControl(
-                                component,
-                                (Enum<?>) propDesc.getReadMethod().invoke(policy, new Object[] {}) != null,
-                                values[0],
-                                values[0]));
-
-                    } else if (ClassUtils.isAssignable(Boolean.class, field.getType())) {
-                        item.add(new AjaxCheckBoxPanel("check", field.getName(),
-                                new PropertyModel<Boolean>(policy, field.getName())));
-
-                        item.add(new Label("field", new Model(null)));
-                    } else if (Collection.class.isAssignableFrom(field.getType())) {
-                        if (field.getSchemaList() != null) {
-                            final List<String> values = new ArrayList<>();
-                            if (field.getName().charAt(0) == 'r') {
-                                values.addAll(groupSchemas.getObject());
-
-                                if (field.getSchemaList().extended()) {
-                                    values.add("name");
-                                }
-                            } else {
-                                values.addAll(userSchemas.getObject());
-
-                                if (field.getSchemaList().extended()) {
-                                    values.add("key");
-                                    values.add("username");
-                                }
-                            }
-
-                            component = new AjaxPalettePanel("field", new PropertyModel(policy, field.getName()),
-                                    new ListModel<>(values));
-                            item.add(component);
-
-                            Collection<?> collection = (Collection) propDesc.getReadMethod().invoke(policy);
-                            item.add(getActivationControl(component,
-                                    !collection.isEmpty(), new ArrayList<String>(), new ArrayList<String>()));
-                        } else {
-                            final FieldPanel panel = new AjaxTextFieldPanel("panel", field.getName(),
-                                    new Model<String>(null));
-                            panel.setRequired(true);
-
-                            component = new MultiFieldPanel<String>("field",
-                                    new PropertyModel(policy, field.getName()), panel);
-
-                            item.add(component);
-
-                            final List<String> reinitializedValue = new ArrayList<String>();
-
-                            reinitializedValue.add("");
-
-                            item.add(getActivationControl(component,
-                                    !((Collection) propDesc.getReadMethod().invoke(policy, new Object[] {})).isEmpty(),
-                                    new ArrayList<String>(), (Serializable) reinitializedValue));
-                        }
-                    } else if (ClassUtils.isAssignable(Number.class, field.getType())) {
-                        component = new SpinnerFieldPanel<Number>("field", field.getName(),
-                                (Class<Number>) field.getType(), new PropertyModel<Number>(policy, field.getName()),
-                                null, null);
-                        item.add(component);
-
-                        item.add(getActivationControl(component,
-                                (Integer) propDesc.getReadMethod().invoke(policy, new Object[] {}) > 0, 0, 0));
-                    } else if (field.getType().equals(String.class)) {
-                        component = new AjaxTextFieldPanel("field", field.getName(),
-                                new PropertyModel(policy, field.getName()));
-
-                        item.add(component);
-
-                        item.add(getActivationControl(component,
-                                propDesc.getReadMethod().invoke(policy, new Object[] {}) != null, null, null));
-                    } else {
-                        item.add(new AjaxCheckBoxPanel("check", field.getName(), new Model()));
-                        item.add(new Label("field", new Model(null)));
-                    }
-                } catch (Exception e) {
-                    LOG.error("Error retrieving policy fields", e);
-                }
-            }
-        };
-
-        add(policies);
-    }
-
-    private <T extends Serializable> AjaxCheckBoxPanel getActivationControl(final AbstractFieldPanel<T> panel,
-            final Boolean checked, final T defaultModelObject, final T reinitializedValue) {
-
-        final AjaxCheckBoxPanel check = new AjaxCheckBoxPanel("check", "check", new Model<Boolean>(checked));
-
-        panel.setEnabled(checked);
-
-        check.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                if (check.getModelObject()) {
-                    panel.setEnabled(true);
-                    panel.setModelObject(reinitializedValue);
-                } else {
-                    panel.setModelObject(defaultModelObject);
-                    panel.setEnabled(false);
-                }
-
-                target.add(panel);
-            }
-        });
-
-        return check;
-    }
-
-    private static class FieldWrapper implements Serializable {
-
-        private static final long serialVersionUID = -6770429509752964215L;
-
-        private Class<?> type;
-
-        private String name;
-
-        private transient SchemaList schemaList;
-
-        private transient ClassList classList;
-
-        public String getName() {
-            return name;
-        }
-
-        public void setName(final String name) {
-            this.name = name;
-        }
-
-        public Class<?> getType() {
-            return type;
-        }
-
-        public void setType(final Class<?> type) {
-            this.type = type;
-        }
-
-        public SchemaList getSchemaList() {
-            return schemaList;
-        }
-
-        public void setSchemaList(final SchemaList schemaList) {
-            this.schemaList = schemaList;
-        }
-
-        public ClassList getClassList() {
-            return classList;
-        }
-
-        public void setClassList(ClassList classList) {
-            this.classList = classList;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PropagationTasks.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PropagationTasks.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PropagationTasks.java
deleted file mode 100644
index 41fdb03..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PropagationTasks.java
+++ /dev/null
@@ -1,264 +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.panels;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.pages.PropagationTaskModalPage;
-import org.apache.syncope.client.console.pages.Tasks;
-import org.apache.syncope.client.console.pages.Tasks.TasksProvider;
-import org.apache.syncope.client.console.panels.AbstractSearchResultPanel.EventDataWrapper;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
-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.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.to.AbstractTaskTO;
-import org.apache.syncope.common.lib.to.PropagationTaskTO;
-import org.apache.wicket.Component;
-import org.apache.wicket.Page;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-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.IModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.request.http.WebResponse;
-
-/**
- * Tasks page.
- */
-public class PropagationTasks extends AbstractTasks {
-
-    private static final long serialVersionUID = 4984337552918213290L;
-
-    private int paginatorRows;
-
-    private WebMarkupContainer container;
-
-    private boolean operationResult = false;
-
-    private ModalWindow window;
-
-    private AjaxDataTablePanel<AbstractTaskTO, String> table;
-
-    public PropagationTasks(final String id, final PageReference pageRef) {
-        super(id, pageRef);
-
-        container = new WebMarkupContainer("container");
-        container.setOutputMarkupId(true);
-        add(container);
-
-        add(window = new ModalWindow("taskWin"));
-
-        paginatorRows = prefMan.getPaginatorRows(getWebRequest(), Constants.PREF_PROPAGATION_TASKS_PAGINATOR_ROWS);
-
-        table = Tasks.updateTaskTable(
-                getColumns(),
-                new TasksProvider<PropagationTaskTO>(restClient, paginatorRows, getId(), PropagationTaskTO.class),
-                container,
-                0,
-                pageRef,
-                restClient);
-
-        window.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                target.add(container);
-                if (operationResult) {
-                    info(getString(Constants.OPERATION_SUCCEEDED));
-                    target.add(getPage().get(Constants.FEEDBACK));
-                    operationResult = false;
-                }
-            }
-        });
-
-        window.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
-        window.setInitialHeight(WIN_HEIGHT);
-        window.setInitialWidth(WIN_WIDTH);
-        window.setCookieName(VIEW_TASK_WIN_COOKIE_NAME);
-
-        @SuppressWarnings("rawtypes")
-        Form paginatorForm = new Form("PaginatorForm");
-
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        final DropDownChoice rowsChooser = new DropDownChoice(
-                "rowsChooser", new PropertyModel(this, "paginatorRows"), prefMan.getPaginatorChoices());
-
-        rowsChooser.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                prefMan.set(getWebRequest(), (WebResponse) getResponse(),
-                        Constants.PREF_PROPAGATION_TASKS_PAGINATOR_ROWS, String.valueOf(paginatorRows));
-
-                table = Tasks.updateTaskTable(
-                        getColumns(),
-                        new TasksProvider<>(restClient, paginatorRows, getId(), PropagationTaskTO.class),
-                        container,
-                        table == null ? 0 : (int) table.getCurrentPage(),
-                        pageRef,
-                        restClient);
-
-                target.add(container);
-            }
-        });
-
-        paginatorForm.add(rowsChooser);
-        add(paginatorForm);
-    }
-
-    private List<IColumn<AbstractTaskTO, String>> getColumns() {
-        final List<IColumn<AbstractTaskTO, String>> columns = new ArrayList<>();
-
-        columns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("key", this, null), "key", "key"));
-        columns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("resource", this, null), "resource", "resource"));
-        columns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("accountId", this, null), "accountId", "accountId"));
-        columns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("propagationMode", this, null), "propagationMode", "propagationMode"));
-        columns.add(new PropertyColumn<AbstractTaskTO, String>(new StringResourceModel(
-                "propagationOperation", this, null), "propagationOperation", "propagationOperation"));
-        columns.add(new DatePropertyColumn<AbstractTaskTO>(
-                new StringResourceModel("startDate", this, null), "startDate", "startDate"));
-        columns.add(new DatePropertyColumn<AbstractTaskTO>(
-                new StringResourceModel("endDate", this, null), "endDate", "endDate"));
-        columns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("latestExecStatus", this, null), "latestExecStatus", "latestExecStatus"));
-        columns.add(new ActionColumn<AbstractTaskTO, String>(new StringResourceModel("actions", this, null, "")) {
-
-            private static final long serialVersionUID = 2054811145491901166L;
-
-            @Override
-            public String getCssClass() {
-                return "action";
-            }
-
-            @Override
-            public ActionLinksPanel getActions(final String componentId, final IModel<AbstractTaskTO> model) {
-
-                final AbstractTaskTO taskTO = model.getObject();
-
-                final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, pageRef);
-
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -3722207913631435501L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-
-                        window.setPageCreator(new ModalWindow.PageCreator() {
-
-                            private static final long serialVersionUID = -7834632442532690940L;
-
-                            @Override
-                            public Page createPage() {
-                                return new PropagationTaskModalPage(taskTO);
-                            }
-                        });
-
-                        window.show(target);
-                    }
-                }, ActionLink.ActionType.EDIT, TASKS);
-
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -3722207913631435501L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-                        try {
-                            restClient.startExecution(taskTO.getKey(), false);
-                            getSession().info(getString(Constants.OPERATION_SUCCEEDED));
-                        } catch (SyncopeClientException scce) {
-                            error(scce.getMessage());
-                        }
-
-                        ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                        target.add(container);
-                    }
-                }, ActionLink.ActionType.EXECUTE, TASKS);
-
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -3722207913631435501L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-                        try {
-                            restClient.delete(taskTO.getKey(), PropagationTaskTO.class);
-                            info(getString(Constants.OPERATION_SUCCEEDED));
-                        } catch (SyncopeClientException scce) {
-                            error(scce.getMessage());
-                        }
-                        target.add(container);
-                        ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                    }
-                }, ActionLink.ActionType.DELETE, TASKS);
-
-                return panel;
-            }
-
-            @Override
-            public Component getHeader(final String componentId) {
-                final ActionLinksPanel panel = new ActionLinksPanel(componentId, new Model(), pageRef);
-
-                panel.add(new ActionLink() {
-
-                    private static final long serialVersionUID = -7978723352517770644L;
-
-                    @Override
-                    public void onClick(final AjaxRequestTarget target) {
-                        if (target != null) {
-                            target.add(table);
-                        }
-                    }
-                }, ActionLink.ActionType.RELOAD, TASKS, "list");
-
-                return panel;
-            }
-        });
-
-        return columns;
-    }
-
-    @Override
-    public void onEvent(final IEvent<?> event) {
-        if (event.getPayload() instanceof EventDataWrapper) {
-            ((EventDataWrapper) event.getPayload()).getTarget().add(container);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PushTasksPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PushTasksPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PushTasksPanel.java
deleted file mode 100644
index a93000d..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/PushTasksPanel.java
+++ /dev/null
@@ -1,184 +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.panels;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.pages.PushTaskModalPage;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
-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.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.to.AbstractTaskTO;
-import org.apache.syncope.common.lib.to.PushTaskTO;
-import org.apache.syncope.common.lib.to.SyncTaskTO;
-import org.apache.wicket.Component;
-import org.apache.wicket.Page;
-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.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.StringResourceModel;
-
-public class PushTasksPanel extends AbstractProvisioningTasksPanel<PushTaskTO> {
-
-    private static final long serialVersionUID = -2492299671757861889L;
-
-    public PushTasksPanel(final String id, final PageReference pageRef) {
-        super(id, pageRef, PushTaskTO.class);
-        initTasksTable();
-    }
-
-    @Override
-    protected List<IColumn<AbstractTaskTO, String>> getColumns() {
-        final List<IColumn<AbstractTaskTO, String>> pushTasksColumns = new ArrayList<IColumn<AbstractTaskTO, String>>();
-
-        pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("key", this, null), "key", "key"));
-        pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("name", this, null), "name", "name"));
-        pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("description", this, null), "description", "description"));
-        pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("resourceName", this, null), "resource", "resource"));
-        pushTasksColumns.add(new DatePropertyColumn<AbstractTaskTO>(
-                new StringResourceModel("lastExec", this, null), "lastExec", "lastExec"));
-        pushTasksColumns.add(new DatePropertyColumn<AbstractTaskTO>(
-                new StringResourceModel("nextExec", this, null), "nextExec", "nextExec"));
-        pushTasksColumns.add(new PropertyColumn<AbstractTaskTO, String>(
-                new StringResourceModel("latestExecStatus", this, null), "latestExecStatus", "latestExecStatus"));
-
-        pushTasksColumns.add(
-                new ActionColumn<AbstractTaskTO, String>(new StringResourceModel("actions", this, null, "")) {
-
-                    private static final long serialVersionUID = 2054811145491901166L;
-
-                    @Override
-                    public ActionLinksPanel getActions(final String componentId, final IModel<AbstractTaskTO> model) {
-
-                        final PushTaskTO taskTO = (PushTaskTO) model.getObject();
-
-                        final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, pageRef);
-
-                        panel.add(new ActionLink() {
-
-                            private static final long serialVersionUID = -3722207913631435501L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-
-                                window.setPageCreator(new ModalWindow.PageCreator() {
-
-                                    private static final long serialVersionUID = -7834632442532690940L;
-
-                                    @Override
-                                    public Page createPage() {
-                                        return new PushTaskModalPage(window, taskTO, pageRef);
-                                    }
-                                });
-
-                                window.show(target);
-                            }
-                        }, ActionLink.ActionType.EDIT, TASKS);
-
-                        panel.add(new ActionLink() {
-
-                            private static final long serialVersionUID = -3722207913631435501L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-                                try {
-                                    restClient.startExecution(taskTO.getKey(), false);
-                                    getSession().info(getString(Constants.OPERATION_SUCCEEDED));
-                                } catch (SyncopeClientException scce) {
-                                    error(scce.getMessage());
-                                }
-
-                                target.add(container);
-                                ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                            }
-                        }, ActionLink.ActionType.EXECUTE, TASKS);
-
-                        panel.add(new ActionLink() {
-
-                            private static final long serialVersionUID = -3722207913631435501L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-                                try {
-                                    restClient.startExecution(taskTO.getKey(), true);
-                                    getSession().info(getString(Constants.OPERATION_SUCCEEDED));
-                                } catch (SyncopeClientException scce) {
-                                    error(scce.getMessage());
-                                }
-
-                                target.add(container);
-                                ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                            }
-                        }, ActionLink.ActionType.DRYRUN, TASKS);
-
-                        panel.add(new ActionLink() {
-
-                            private static final long serialVersionUID = -3722207913631435501L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-                                try {
-                                    restClient.delete(taskTO.getKey(), SyncTaskTO.class);
-                                    info(getString(Constants.OPERATION_SUCCEEDED));
-                                } catch (SyncopeClientException scce) {
-                                    error(scce.getMessage());
-                                }
-                                target.add(container);
-                                ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
-                            }
-                        }, ActionLink.ActionType.DELETE, TASKS);
-
-                        return panel;
-                    }
-
-                    @Override
-                    public Component getHeader(final String componentId) {
-                        final ActionLinksPanel panel = new ActionLinksPanel(componentId, new Model(), pageRef);
-
-                        panel.add(new ActionLink() {
-
-                            private static final long serialVersionUID = -7978723352517770644L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-                                if (target != null) {
-                                    target.add(table);
-                                }
-                            }
-                        }, ActionLink.ActionType.RELOAD, TASKS, "list");
-
-                        return panel;
-                    }
-                });
-
-        return pushTasksColumns;
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
deleted file mode 100644
index b3e63c5..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
+++ /dev/null
@@ -1,187 +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.panels;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.syncope.client.console.pages.BaseModalPage;
-import org.apache.syncope.client.console.pages.ResourceModalPage.ResourceEvent;
-import org.apache.syncope.client.console.panels.ResourceDetailsPanel.DetailsModEvent;
-import org.apache.syncope.client.console.rest.ConnectorRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel.MultiValueSelectorEvent;
-import org.apache.syncope.client.console.wicket.markup.html.list.ConnConfPropertyListView;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.ConnConfProperty;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-public class ResourceConnConfPanel extends Panel {
-
-    private static final long serialVersionUID = -7982691107029848579L;
-
-    @SpringBean
-    private ConnectorRestClient restClient;
-
-    private final ResourceTO resourceTO;
-
-    private final boolean createFlag;
-
-    private List<ConnConfProperty> connConfProperties;
-
-    private WebMarkupContainer connConfPropContainer;
-
-    private AjaxButton check;
-
-    public ResourceConnConfPanel(final String id, final ResourceTO resourceTO, final boolean createFlag) {
-        super(id);
-        setOutputMarkupId(true);
-
-        this.createFlag = createFlag;
-        this.resourceTO = resourceTO;
-
-        connConfProperties = getConnConfProperties();
-
-        connConfPropContainer = new WebMarkupContainer("connectorPropertiesContainer");
-        connConfPropContainer.setOutputMarkupId(true);
-        add(connConfPropContainer);
-
-        /*
-         * the list of overridable connector properties
-         */
-        final ListView<ConnConfProperty> connPropView = new ConnConfPropertyListView("connectorProperties",
-                new PropertyModel<List<ConnConfProperty>>(this, "connConfProperties"),
-                false, resourceTO.getConnConfProperties());
-        connPropView.setOutputMarkupId(true);
-        connConfPropContainer.add(connPropView);
-
-        check = new IndicatingAjaxButton("check", new ResourceModel("check")) {
-
-            private static final long serialVersionUID = -4199438518229098169L;
-
-            @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                final ResourceTO resourceTO = (ResourceTO) form.getModelObject();
-
-                if (restClient.check(resourceTO)) {
-                    info(getString("success_connection"));
-                } else {
-                    error(getString("error_connection"));
-                }
-
-                ((BaseModalPage) getPage()).getFeedbackPanel().refresh(target);
-            }
-        };
-
-        check.setEnabled(!connConfProperties.isEmpty());
-        connConfPropContainer.add(check);
-    }
-
-    /**
-     * Get overridable properties.
-     *
-     * @return overridable properties.
-     */
-    private List<ConnConfProperty> getConnConfProperties() {
-        final List<ConnConfProperty> props = new ArrayList<ConnConfProperty>();
-        final Long connectorId = resourceTO.getConnectorId();
-        if (connectorId != null && connectorId > 0) {
-            for (ConnConfProperty property : restClient.getConnectorProperties(connectorId)) {
-                if (property.isOverridable()) {
-                    props.add(property);
-                }
-            }
-        }
-        if (createFlag || resourceTO.getConnConfProperties().isEmpty()) {
-            resourceTO.getConnConfProperties().clear();
-        } else {
-            Map<String, ConnConfProperty> valuedProps = new HashMap<String, ConnConfProperty>();
-            for (ConnConfProperty prop : resourceTO.getConnConfProperties()) {
-                valuedProps.put(prop.getSchema().getName(), prop);
-            }
-
-            for (int i = 0; i < props.size(); i++) {
-                if (valuedProps.containsKey(props.get(i).getSchema().getName())) {
-                    props.set(i, valuedProps.get(props.get(i).getSchema().getName()));
-                }
-            }
-        }
-
-        // re-order properties
-        Collections.sort(props);
-
-        return props;
-    }
-
-    @Override
-    public void onEvent(final IEvent<?> event) {
-        AjaxRequestTarget target = null;
-        if (event.getPayload() instanceof DetailsModEvent) {
-            // connector change: update properties and forward event
-            target = ((ResourceEvent) event.getPayload()).getTarget();
-
-            connConfProperties = getConnConfProperties();
-            check.setEnabled(!connConfProperties.isEmpty());
-
-            target.add(connConfPropContainer);
-        } else if (event.getPayload() instanceof MultiValueSelectorEvent) {
-            // multi value connector property change: forward event
-            target = ((MultiValueSelectorEvent) event.getPayload()).getTarget();
-        }
-
-        if (target != null) {
-            send(getPage(), Broadcast.BREADTH, new ConnConfModEvent(target, connConfProperties));
-        }
-    }
-
-    /**
-     * Connector configuration properties modification event.
-     */
-    public static class ConnConfModEvent extends ResourceEvent {
-
-        private List<ConnConfProperty> configuration;
-
-        /**
-         * Constructor.
-         *
-         * @param target request target.
-         * @param configuration connector configuration properties.
-         */
-        public ConnConfModEvent(final AjaxRequestTarget target, final List<ConnConfProperty> configuration) {
-            super(target);
-            this.configuration = configuration;
-        }
-
-        public List<ConnConfProperty> getConfiguration() {
-            return configuration;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java
deleted file mode 100644
index 3bff23f..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java
+++ /dev/null
@@ -1,306 +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.panels;
-
-import java.util.Arrays;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.pages.ResourceModalPage.ResourceEvent;
-import org.apache.syncope.client.console.rest.ConnectorRestClient;
-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.SpinnerFieldPanel;
-import org.apache.syncope.common.lib.to.ConnInstanceTO;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.PropagationMode;
-import org.apache.syncope.common.lib.types.TraceLevel;
-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.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.Panel;
-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.spring.injection.annot.SpringBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResourceDetailsPanel extends Panel {
-
-    private static final long serialVersionUID = -7982691107029848579L;
-
-    /**
-     * Logger.
-     */
-    private static final Logger LOG = LoggerFactory.getLogger(ResourceDetailsPanel.class);
-
-    @SpringBean
-    private ConnectorRestClient connRestClient;
-
-    private ConnInstanceTO connInstanceTO;
-
-    public ResourceDetailsPanel(final String id, final ResourceTO resourceTO, final List<String> actionClassNames,
-            final boolean createFlag) {
-
-        super(id);
-        setOutputMarkupId(true);
-
-        final AjaxTextFieldPanel resourceName = new AjaxTextFieldPanel("name", new ResourceModel("name", "name").
-                getObject(), new PropertyModel<String>(resourceTO, "key"));
-
-        resourceName.setEnabled(createFlag);
-        resourceName.addRequiredLabel();
-        add(resourceName);
-
-        final AjaxCheckBoxPanel enforceMandatoryCondition = new AjaxCheckBoxPanel("enforceMandatoryCondition",
-                new ResourceModel("enforceMandatoryCondition", "enforceMandatoryCondition").getObject(),
-                new PropertyModel<Boolean>(resourceTO, "enforceMandatoryCondition"));
-        add(enforceMandatoryCondition);
-
-        final AjaxCheckBoxPanel propagationPrimary = new AjaxCheckBoxPanel("propagationPrimary", new ResourceModel(
-                "propagationPrimary", "propagationPrimary").getObject(), new PropertyModel<Boolean>(resourceTO,
-                        "propagationPrimary"));
-        add(propagationPrimary);
-
-        final SpinnerFieldPanel<Integer> propagationPriority =
-                new SpinnerFieldPanel<>("propagationPriority", "propagationPriority", Integer.class,
-                        new PropertyModel<Integer>(resourceTO, "propagationPriority"), null, null);
-        add(propagationPriority);
-
-        final AjaxDropDownChoicePanel<PropagationMode> propagationMode = new AjaxDropDownChoicePanel<>(
-                "propagationMode", new ResourceModel("propagationMode", "propagationMode").getObject(),
-                new PropertyModel<PropagationMode>(resourceTO, "propagationMode"));
-        propagationMode.setChoices(Arrays.asList(PropagationMode.values()));
-        add(propagationMode);
-
-        final AjaxCheckBoxPanel randomPwdIfNotProvided = new AjaxCheckBoxPanel("randomPwdIfNotProvided",
-                new ResourceModel("randomPwdIfNotProvided", "randomPwdIfNotProvided").getObject(),
-                new PropertyModel<Boolean>(resourceTO, "randomPwdIfNotProvided"));
-        add(randomPwdIfNotProvided);
-
-        final WebMarkupContainer propagationActionsClassNames = new WebMarkupContainer("propagationActionsClassNames");
-        propagationActionsClassNames.setOutputMarkupId(true);
-        add(propagationActionsClassNames);
-
-        final AjaxLink<Void> first = new IndicatingAjaxLink<Void>("first") {
-
-            private static final long serialVersionUID = -7978723352517770644L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target) {
-                resourceTO.getPropagationActionsClassNames().add(StringUtils.EMPTY);
-                setVisible(false);
-                target.add(propagationActionsClassNames);
-            }
-        };
-        first.setOutputMarkupPlaceholderTag(true);
-        first.setVisible(resourceTO.getPropagationActionsClassNames().isEmpty());
-        propagationActionsClassNames.add(first);
-
-        final ListView<String> actionsClasses = new ListView<String>("actionsClasses",
-                new PropertyModel<List<String>>(resourceTO, "propagationActionsClassNames")) {
-
-                    private static final long serialVersionUID = 9101744072914090143L;
-
-                    @Override
-                    protected void populateItem(final ListItem<String> item) {
-                        final String className = item.getModelObject();
-
-                        final DropDownChoice<String> actionsClass = new DropDownChoice<>(
-                                "actionsClass", new Model<>(className), actionClassNames);
-                        actionsClass.setNullValid(true);
-                        actionsClass.setRequired(true);
-                        actionsClass.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_BLUR) {
-
-                            private static final long serialVersionUID = -1107858522700306810L;
-
-                            @Override
-                            protected void onUpdate(final AjaxRequestTarget target) {
-                                resourceTO.getPropagationActionsClassNames().
-                                set(item.getIndex(), actionsClass.getModelObject());
-                            }
-                        });
-                        actionsClass.setRequired(true);
-                        actionsClass.setOutputMarkupId(true);
-                        actionsClass.setRequired(true);
-                        item.add(actionsClass);
-
-                        AjaxLink<Void> minus = new IndicatingAjaxLink<Void>("drop") {
-
-                            private static final long serialVersionUID = -7978723352517770644L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-                                resourceTO.getPropagationActionsClassNames().remove(className);
-                                first.setVisible(resourceTO.getPropagationActionsClassNames().isEmpty());
-                                target.add(propagationActionsClassNames);
-                            }
-                        };
-                        item.add(minus);
-
-                        final AjaxLink<Void> plus = new IndicatingAjaxLink<Void>("add") {
-
-                            private static final long serialVersionUID = -7978723352517770644L;
-
-                            @Override
-                            public void onClick(final AjaxRequestTarget target) {
-                                resourceTO.getPropagationActionsClassNames().add(StringUtils.EMPTY);
-                                target.add(propagationActionsClassNames);
-                            }
-                        };
-                        plus.setOutputMarkupPlaceholderTag(true);
-                        plus.setVisible(item.getIndex() == resourceTO.getPropagationActionsClassNames().size() - 1);
-                        item.add(plus);
-                    }
-                };
-        propagationActionsClassNames.add(actionsClasses);
-
-        final AjaxDropDownChoicePanel<TraceLevel> createTraceLevel = new AjaxDropDownChoicePanel<>(
-                "createTraceLevel", new ResourceModel("createTraceLevel", "createTraceLevel").getObject(),
-                new PropertyModel<TraceLevel>(resourceTO, "createTraceLevel"));
-        createTraceLevel.setChoices(Arrays.asList(TraceLevel.values()));
-        add(createTraceLevel);
-
-        final AjaxDropDownChoicePanel<TraceLevel> updateTraceLevel = new AjaxDropDownChoicePanel<>(
-                "updateTraceLevel", new ResourceModel("updateTraceLevel", "updateTraceLevel").getObject(),
-                new PropertyModel<TraceLevel>(resourceTO, "updateTraceLevel"));
-        updateTraceLevel.setChoices(Arrays.asList(TraceLevel.values()));
-        add(updateTraceLevel);
-
-        final AjaxDropDownChoicePanel<TraceLevel> deleteTraceLevel = new AjaxDropDownChoicePanel<>(
-                "deleteTraceLevel", new ResourceModel("deleteTraceLevel", "deleteTraceLevel").getObject(),
-                new PropertyModel<TraceLevel>(resourceTO, "deleteTraceLevel"));
-        deleteTraceLevel.setChoices(Arrays.asList(TraceLevel.values()));
-        add(deleteTraceLevel);
-
-        final AjaxDropDownChoicePanel<TraceLevel> syncTraceLevel = new AjaxDropDownChoicePanel<>(
-                "syncTraceLevel", new ResourceModel("syncTraceLevel", "syncTraceLevel").getObject(),
-                new PropertyModel<TraceLevel>(resourceTO, "syncTraceLevel"));
-        syncTraceLevel.setChoices(Arrays.asList(TraceLevel.values()));
-        add(syncTraceLevel);
-
-        final IModel<List<ConnInstanceTO>> connectors = new LoadableDetachableModel<List<ConnInstanceTO>>() {
-
-            private static final long serialVersionUID = 5275935387613157437L;
-
-            @Override
-            protected List<ConnInstanceTO> load() {
-                return connRestClient.getAllConnectors();
-            }
-        };
-
-        connInstanceTO = getConectorInstanceTO(connectors.getObject(), resourceTO);
-
-        final AjaxDropDownChoicePanel<ConnInstanceTO> conn = new AjaxDropDownChoicePanel<>("connector",
-                new ResourceModel("connector", "connector").getObject(),
-                new PropertyModel<ConnInstanceTO>(this, "connInstanceTO"));
-        conn.setChoices(connectors.getObject());
-        conn.setChoiceRenderer(new ChoiceRenderer("displayName", "key"));
-
-        conn.getField().setModel(new IModel<ConnInstanceTO>() {
-
-            private static final long serialVersionUID = -4202872830392400310L;
-
-            @Override
-            public ConnInstanceTO getObject() {
-                return connInstanceTO;
-            }
-
-            @Override
-            public void setObject(final ConnInstanceTO connector) {
-                resourceTO.setConnectorId(connector.getKey());
-                connInstanceTO = connector;
-            }
-
-            @Override
-            public void detach() {
-            }
-        });
-
-        conn.addRequiredLabel();
-        conn.setEnabled(createFlag);
-
-        conn.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
-            private static final long serialVersionUID = -1107858522700306810L;
-
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                send(getPage(), Broadcast.BREADTH, new DetailsModEvent(target));
-            }
-        });
-
-        add(conn);
-    }
-
-    /**
-     * Get the connetorTO linked to the resource.
-     *
-     * @param connectorTOs list of all connectors.
-     * @param resourceTO resource.
-     * @return selected connector instance: in case of no connectors available, null; in case of new resource
-     * specification, the first on connector available
-     */
-    private ConnInstanceTO getConectorInstanceTO(final List<ConnInstanceTO> connectorTOs, final ResourceTO resourceTO) {
-        if (connectorTOs.isEmpty()) {
-            resourceTO.setConnectorId(null);
-            return null;
-        } else {
-            // use the first element as default
-            ConnInstanceTO res = connectorTOs.get(0);
-
-            for (ConnInstanceTO to : connectorTOs) {
-                if (Long.valueOf(to.getKey()).equals(resourceTO.getConnectorId())) {
-                    res = to;
-                }
-            }
-
-            // in case of no match
-            resourceTO.setConnectorId(res.getKey());
-
-            return res;
-        }
-    }
-
-    /**
-     * Connector instance modification event.
-     */
-    public static class DetailsModEvent extends ResourceEvent {
-
-        /**
-         * Constructor.
-         *
-         * @param target request target.
-         */
-        public DetailsModEvent(final AjaxRequestTarget target) {
-            super(target);
-        }
-    }
-}


Mime
View raw message