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:37 UTC
[18/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/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);
- }
- }
-}