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:39 UTC
[20/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/AttrTemplatesPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/AttrTemplatesPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/AttrTemplatesPanel.java
deleted file mode 100644
index 98ada28..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/AttrTemplatesPanel.java
+++ /dev/null
@@ -1,167 +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.Collection;
-import java.util.Collections;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.commons.SelectChoiceRenderer;
-import org.apache.syncope.client.console.rest.SchemaRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.NonI18nPalette;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.syncope.common.lib.types.SchemaType;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.markup.html.form.palette.component.Recorder;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-public class AttrTemplatesPanel extends Panel {
-
- public enum Type {
-
- gPlainAttrTemplates,
- gDerAttrTemplates,
- gVirAttrTemplates,
- mPlainAttrTemplates,
- mDerAttrTemplates,
- mVirAttrTemplates;
-
- }
-
- private static final long serialVersionUID = 1016028222120619000L;
-
- @SpringBean
- private SchemaRestClient schemaRestClient;
-
- private final GroupTO groupTO;
-
- private final NonI18nPalette<String> rPlainAttrTemplates;
-
- private final NonI18nPalette<String> rDerAttrTemplates;
-
- private final NonI18nPalette<String> rVirAttrTemplates;
-
- public AttrTemplatesPanel(final String id, final GroupTO groupTO) {
- super(id);
- this.groupTO = groupTO;
-
- rPlainAttrTemplates = buildPalette(Type.gPlainAttrTemplates,
- schemaRestClient.getSchemaNames(AttributableType.GROUP, SchemaType.PLAIN));
- this.add(rPlainAttrTemplates);
- rDerAttrTemplates = buildPalette(Type.gDerAttrTemplates,
- schemaRestClient.getSchemaNames(AttributableType.GROUP, SchemaType.DERIVED));
- this.add(rDerAttrTemplates);
- rVirAttrTemplates = buildPalette(Type.gVirAttrTemplates,
- schemaRestClient.getSchemaNames(AttributableType.GROUP, SchemaType.VIRTUAL));
- this.add(rVirAttrTemplates);
-
- this.add(buildPalette(Type.mPlainAttrTemplates,
- schemaRestClient.getSchemaNames(AttributableType.MEMBERSHIP, SchemaType.PLAIN)));
- this.add(buildPalette(Type.mDerAttrTemplates,
- schemaRestClient.getSchemaNames(AttributableType.MEMBERSHIP, SchemaType.DERIVED)));
- this.add(buildPalette(Type.mVirAttrTemplates,
- schemaRestClient.getSchemaNames(AttributableType.MEMBERSHIP, SchemaType.VIRTUAL)));
- }
-
- private NonI18nPalette<String> buildPalette(final Type type, final List<String> allSchemas) {
- if (allSchemas != null && !allSchemas.isEmpty()) {
- Collections.sort(allSchemas);
- }
- ListModel<String> availableSchemas = new ListModel<>(allSchemas);
-
- return new NonI18nPalette<String>(type.name(), new PropertyModel<List<String>>(groupTO, type.name()),
- availableSchemas, new SelectChoiceRenderer<String>(), 8, false, true) {
-
- private static final long serialVersionUID = 2295567122085510330L;
-
- @Override
- protected Recorder<String> newRecorderComponent() {
- final Recorder<String> recorder = super.newRecorderComponent();
-
- switch (type) {
- case gPlainAttrTemplates:
- case gDerAttrTemplates:
- case gVirAttrTemplates:
- recorder.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- send(getPage(), Broadcast.BREADTH, new GroupAttrTemplatesChange(type, target));
- }
- });
- break;
-
- default:
- }
-
- return recorder;
- }
- };
- }
-
- public Collection<String> getSelected(final Type type) {
- Collection<String> selected;
- switch (type) {
- case gPlainAttrTemplates:
- selected = this.rPlainAttrTemplates.getModelCollection();
- break;
-
- case gDerAttrTemplates:
- selected = this.rDerAttrTemplates.getModelCollection();
- break;
-
- case gVirAttrTemplates:
- selected = this.rVirAttrTemplates.getModelCollection();
- break;
-
- default:
- selected = Collections.emptyList();
- }
-
- return selected;
- }
-
- public static class GroupAttrTemplatesChange {
-
- private final Type type;
-
- private final AjaxRequestTarget target;
-
- public GroupAttrTemplatesChange(final Type type, final AjaxRequestTarget target) {
- this.type = type;
- this.target = target;
- }
-
- public Type getType() {
- return type;
- }
-
- public AjaxRequestTarget getTarget() {
- return target;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java
deleted file mode 100644
index a5f6588..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java
+++ /dev/null
@@ -1,113 +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.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import org.apache.wicket.Component;
-import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;
-import org.apache.wicket.extensions.markup.html.repeater.data.grid.DataGridView;
-import org.apache.wicket.markup.html.form.CheckGroup;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.model.IModel;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class DataTablePanel<T, S> extends Panel {
-
- private static final long serialVersionUID = -7264400471578272966L;
-
- /**
- * Logger.
- */
- private static final Logger LOG = LoggerFactory.getLogger(DataTablePanel.class);
-
- protected CheckGroup<T> group;
-
- protected AjaxFallbackDefaultDataTable<T, S> dataTable;
-
- protected IModel<Collection<T>> model;
-
- public DataTablePanel(final String id) {
- super(id);
-
- model = new IModel<Collection<T>>() {
-
- private static final long serialVersionUID = 4886729136344643465L;
-
- private Collection<T> values = new HashSet<T>();
-
- @Override
- public Collection<T> getObject() {
- // Someone or something call this method to change the model: this is not the right behavior.
- // Return a copy of the model object in order to avoid SYNCOPE-465
- return new HashSet<T>(values);
- }
-
- @Override
- public void setObject(final Collection<T> selected) {
- final Collection<T> all = getGroupModelObjects();
- values.removeAll(all);
- values.addAll(selected);
- }
-
- @Override
- public void detach() {
- }
- };
- }
-
- public final void setCurrentPage(final long page) {
- dataTable.setCurrentPage(page);
- }
-
- public final long getRowCount() {
- return dataTable.getRowCount();
- }
-
- public final long getCurrentPage() {
- return dataTable.getCurrentPage();
- }
-
- public final long getPageCount() {
- return dataTable.getPageCount();
- }
-
- public void setItemsPerPage(final int resourcePaginatorRows) {
- dataTable.setItemsPerPage(resourcePaginatorRows);
- }
-
- protected Collection<T> getGroupModelObjects() {
- final Set<T> res = new HashSet<T>();
-
- final Component rows = group.get("dataTable:body:rows");
- if (rows instanceof DataGridView) {
- @SuppressWarnings("unchecked")
- final Iterator<Item<T>> iter = ((DataGridView<T>) rows).getItems();
-
- while (iter.hasNext()) {
- res.add(iter.next().getModelObject());
- }
- }
- return res;
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DerAttrsPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DerAttrsPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DerAttrsPanel.java
deleted file mode 100644
index 8be459a..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/DerAttrsPanel.java
+++ /dev/null
@@ -1,206 +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.panels.AttrTemplatesPanel.GroupAttrTemplatesChange;
-import org.apache.syncope.client.console.rest.GroupRestClient;
-import org.apache.syncope.client.console.rest.SchemaRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDecoratedCheckbox;
-import org.apache.syncope.common.lib.to.AbstractAttributableTO;
-import org.apache.syncope.common.lib.to.AttrTO;
-import org.apache.syncope.common.lib.to.MembershipTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.wicket.Component;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.AjaxCallListener;
-import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
-import org.apache.wicket.ajax.attributes.IAjaxCallListener;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-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.DropDownChoice;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.TextField;
-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;
-
-public class DerAttrsPanel extends Panel {
-
- private static final long serialVersionUID = -5387344116983102292L;
-
- @SpringBean
- private SchemaRestClient schemaRestClient;
-
- @SpringBean
- private GroupRestClient groupRestClient;
-
- private final AttrTemplatesPanel attrTemplates;
-
- public <T extends AbstractAttributableTO> DerAttrsPanel(final String id, final T entityTO) {
- this(id, entityTO, null);
- }
-
- public <T extends AbstractAttributableTO> DerAttrsPanel(final String id, final T entityTO,
- final AttrTemplatesPanel attrTemplates) {
-
- super(id);
- this.attrTemplates = attrTemplates;
- setOutputMarkupId(true);
-
- final IModel<List<String>> derSchemas = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<String> load() {
- List<String> derSchemaNames;
-
- if (entityTO instanceof GroupTO) {
- final GroupTO groupTO = (GroupTO) entityTO;
-
- if (attrTemplates == null) {
- derSchemaNames = groupTO.getGDerAttrTemplates();
- } else {
- derSchemaNames = new ArrayList<>(
- attrTemplates.getSelected(AttrTemplatesPanel.Type.gDerAttrTemplates));
- if (groupTO.isInheritTemplates() && groupTO.getParent() != 0) {
- derSchemaNames.addAll(groupRestClient.read(groupTO.getParent()).getGDerAttrTemplates());
- }
- }
- } else if (entityTO instanceof UserTO) {
- derSchemaNames = schemaRestClient.getDerSchemaNames(AttributableType.USER);
- } else {
- derSchemaNames = groupRestClient.read(((MembershipTO) entityTO).getGroupKey()).getMDerAttrTemplates();
- }
-
- return derSchemaNames;
- }
- };
-
- final WebMarkupContainer attributesContainer = new WebMarkupContainer("derAttrContainer");
-
- attributesContainer.setOutputMarkupId(true);
- add(attributesContainer);
-
- AjaxButton addAttributeBtn = new IndicatingAjaxButton("addAttributeBtn", new ResourceModel("addAttributeBtn")) {
-
- private static final long serialVersionUID = -4804368561204623354L;
-
- @Override
- protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- entityTO.getDerAttrs().add(new AttrTO());
- target.add(attributesContainer);
- }
-
- @Override
- protected void onError(final AjaxRequestTarget target, final Form<?> form) {
- target.add(attributesContainer);
- }
- };
- add(addAttributeBtn.setDefaultFormProcessing(false));
-
- ListView<AttrTO> attributes = new ListView<AttrTO>("attrs",
- new PropertyModel<List<? extends AttrTO>>(entityTO, "derAttrs")) {
-
- private static final long serialVersionUID = 9101744072914090143L;
-
- @Override
- protected void populateItem(final ListItem<AttrTO> item) {
- final AttrTO attributeTO = item.getModelObject();
-
- item.add(new AjaxDecoratedCheckbox("toRemove", new Model<>(Boolean.FALSE)) {
-
- private static final long serialVersionUID = 7170946748485726506L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- entityTO.getDerAttrs().remove(attributeTO);
- target.add(attributesContainer);
- }
-
- @Override
- protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
- super.updateAjaxAttributes(attributes);
-
- IAjaxCallListener ajaxCallListener = new AjaxCallListener() {
-
- private static final long serialVersionUID = 7160235486520935153L;
-
- @Override
- public CharSequence getPrecondition(final Component component) {
- return "if (!confirm('" + getString("confirmDelete") + "')) return false;";
- }
- };
- attributes.getAjaxCallListeners().add(ajaxCallListener);
- }
- });
-
- final DropDownChoice<String> schemaChoice = new DropDownChoice<String>("schema",
- new PropertyModel<String>(attributeTO, "schema"), derSchemas);
- schemaChoice.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_BLUR) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- attributeTO.setSchema(schemaChoice.getModelObject());
- }
- });
- schemaChoice.setRequired(true);
- schemaChoice.setOutputMarkupId(true);
- schemaChoice.setRequired(true);
- item.add(schemaChoice);
-
- final List<String> values = attributeTO.getValues();
- if (values == null || values.isEmpty()) {
- item.add(new TextField<String>("value",
- new Model<String>(null)).setVisible(false));
- } else {
- item.add(new TextField<String>("value",
- new Model<String>(values.get(0))).setEnabled(false));
- }
- }
- };
- attributesContainer.add(attributes);
- }
-
- @Override
- public void onEvent(final IEvent<?> event) {
- if ((event.getPayload() instanceof GroupAttrTemplatesChange)) {
- final GroupAttrTemplatesChange update = (GroupAttrTemplatesChange) event.getPayload();
- if (attrTemplates != null && update.getType() == AttrTemplatesPanel.Type.gDerAttrTemplates) {
- update.getTarget().add(this);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/EventSelectionPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/EventSelectionPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/EventSelectionPanel.java
deleted file mode 100644
index 5332cb5..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/EventSelectionPanel.java
+++ /dev/null
@@ -1,243 +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.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.wicket.markup.html.list.AltListView;
-import org.apache.syncope.common.lib.to.EventCategoryTO;
-import org.apache.syncope.common.lib.types.AuditElements;
-import org.apache.syncope.common.lib.types.AuditLoggerName;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.event.IEvent;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.Check;
-import org.apache.wicket.markup.html.form.CheckGroup;
-import org.apache.wicket.markup.html.form.CheckGroupSelector;
-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.Model;
-import org.apache.wicket.model.ResourceModel;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class EventSelectionPanel extends Panel {
-
- /**
- * Logger.
- */
- private static final Logger LOG = LoggerFactory.getLogger(EventSelectionPanel.class);
-
- private static final long serialVersionUID = 752233163798301002L;
-
- private final Set<String> selected = new HashSet<String>();
-
- public EventSelectionPanel(
- final String id, final EventCategoryTO eventCategoryTO, final IModel<List<String>> model) {
- super(id);
- setOutputMarkupId(true);
-
- final List<String> events = getEvents(eventCategoryTO);
-
- // needed to avoid model reset: model have to be managed into SelectedEventsPanel
- selected.addAll(model.getObject());
-
- final CheckGroup<String> successGroup = new CheckGroup<String>(
- "successGroup",
- selected);
-
- successGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() {
-
- private static final long serialVersionUID = -151291731388673682L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
-
- final Set<String> toBeRemoved = new HashSet<>();
- final Set<String> toBeAdded = new HashSet<>();
-
- for (String event : getEvents(eventCategoryTO)) {
- final String eventString = AuditLoggerName.buildEvent(
- eventCategoryTO.getType(),
- eventCategoryTO.getCategory(),
- eventCategoryTO.getSubcategory(),
- event,
- AuditElements.Result.SUCCESS);
-
- if (successGroup.getModelObject().contains(eventString)) {
- toBeAdded.add(eventString);
- } else {
- toBeRemoved.add(eventString);
- }
- }
-
- send(EventSelectionPanel.this.getPage(), Broadcast.BREADTH,
- new SelectedEventsPanel.EventSelectionChanged(target, toBeAdded, toBeRemoved));
- }
- });
-
- successGroup.setVisible(!events.isEmpty());
- add(successGroup);
-
- add(new Label("successLabel", new ResourceModel("Success", "Success"))).setVisible(!events.isEmpty());
-
- final CheckGroupSelector successSelector = new CheckGroupSelector("successSelector", successGroup);
- successSelector.setVisible(!events.isEmpty());
- add(successSelector);
-
- final ListView<String> categoryView = new AltListView<String>("categoryView", events) {
-
- private static final long serialVersionUID = 4949588177564901031L;
-
- @Override
- protected void populateItem(final ListItem<String> item) {
- final String subcategory = item.getModelObject();
-
- item.add(new Label("subcategory", new ResourceModel(subcategory, subcategory)));
- }
- };
- add(categoryView);
-
- final ListView<String> successView = new AltListView<String>("successView", events) {
-
- private static final long serialVersionUID = 4949588177564901031L;
-
- @Override
- protected void populateItem(final ListItem<String> item) {
- final String event = item.getModelObject();
-
- final Check<String> successCheck = new Check<>("successCheck",
- new Model<String>(AuditLoggerName.buildEvent(
- eventCategoryTO.getType(),
- eventCategoryTO.getCategory(),
- eventCategoryTO.getSubcategory(),
- event,
- AuditElements.Result.SUCCESS)),
- successGroup);
- item.add(successCheck);
- }
- };
- successGroup.add(successView);
-
- final CheckGroup<String> failureGroup = new CheckGroup<String>(
- "failureGroup",
- selected);
-
- failureGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() {
-
- private static final long serialVersionUID = -151291731388673682L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
-
- final Set<String> toBeRemoved = new HashSet<>();
- final Set<String> toBeAdded = new HashSet<>();
-
- for (String event : getEvents(eventCategoryTO)) {
- final String eventString = AuditLoggerName.buildEvent(
- eventCategoryTO.getType(),
- eventCategoryTO.getCategory(),
- eventCategoryTO.getSubcategory(),
- event,
- AuditElements.Result.FAILURE);
-
- if (failureGroup.getModelObject().contains(eventString)) {
- toBeAdded.add(eventString);
- } else {
- toBeRemoved.add(eventString);
- }
- }
-
- send(EventSelectionPanel.this.getPage(), Broadcast.BREADTH,
- new SelectedEventsPanel.EventSelectionChanged(target, toBeAdded, toBeRemoved));
- }
- });
-
- failureGroup.setVisible(!events.isEmpty());
- add(failureGroup);
-
- add(new Label("failureLabel", new ResourceModel("Failure", "Failure"))).setVisible(!events.isEmpty());
-
- final CheckGroupSelector failureSelector = new CheckGroupSelector("failureSelector", failureGroup);
- failureSelector.setVisible(!events.isEmpty());
- add(failureSelector);
-
- final ListView<String> failureView = new AltListView<String>("failureView", events) {
-
- private static final long serialVersionUID = 4949588177564901031L;
-
- @Override
- protected void populateItem(final ListItem<String> item) {
- final String event = item.getModelObject();
-
- final Check<String> failureCheck = new Check<>("failureCheck",
- new Model<String>(AuditLoggerName.buildEvent(
- eventCategoryTO.getType(),
- eventCategoryTO.getCategory(),
- eventCategoryTO.getSubcategory(),
- event,
- AuditElements.Result.FAILURE)),
- failureGroup);
- item.add(failureCheck);
- }
- };
- failureGroup.add(failureView);
- }
-
- private List<String> getEvents(final EventCategoryTO eventCategoryTO) {
- final List<String> res;
-
- res = eventCategoryTO.getEvents();
-
- if (res.isEmpty()) {
- if ((AuditElements.EventCategoryType.PROPAGATION == eventCategoryTO.getType()
- || AuditElements.EventCategoryType.SYNCHRONIZATION == eventCategoryTO.getType()
- || AuditElements.EventCategoryType.PUSH == eventCategoryTO.getType())
- && StringUtils.isEmpty(eventCategoryTO.getCategory())) {
- res.add(eventCategoryTO.getType().toString());
- } else if (AuditElements.EventCategoryType.TASK == eventCategoryTO.getType()
- && StringUtils.isNotEmpty(eventCategoryTO.getCategory())) {
- res.add(eventCategoryTO.getCategory());
- }
- } else {
- Collections.sort(res);
- }
-
- return res;
- }
-
- /**
- * To be extended in order to add actions on events.
- *
- * @param event event.
- */
- protected abstract void onEventAction(final IEvent<?> event);
-
- @Override
- public void onEvent(final IEvent<?> event) {
- onEventAction(event);
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupDetailsPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupDetailsPanel.java
deleted file mode 100644
index 7662e4a..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupDetailsPanel.java
+++ /dev/null
@@ -1,435 +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 org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.commons.JexlHelpUtils;
-import org.apache.syncope.client.console.pages.GroupSelectModalPage;
-import org.apache.syncope.client.console.pages.UserOwnerSelectModalPage;
-import org.apache.syncope.client.console.panels.AttrTemplatesPanel.GroupAttrTemplatesChange;
-import org.apache.syncope.client.console.panels.AttrTemplatesPanel.Type;
-import org.apache.syncope.client.console.rest.GroupRestClient;
-import org.apache.syncope.client.console.rest.UserRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.wicket.Page;
-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.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.panel.Fragment;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class GroupDetailsPanel extends Panel {
-
- private static final long serialVersionUID = 855618618337931784L;
-
- /**
- * Logger.
- */
- protected static final Logger LOG = LoggerFactory.getLogger(GroupDetailsPanel.class);
-
- @SpringBean
- private UserRestClient userRestClient;
-
- @SpringBean
- private GroupRestClient groupRestClient;
-
- private final Fragment parentFragment;
-
- private final WebMarkupContainer ownerContainer;
-
- private final OwnerModel userOwnerModel;
-
- private final OwnerModel groupOwnerModel;
-
- private ParentModel parentModel;
-
- public GroupDetailsPanel(final String id, final GroupTO groupTO, final boolean templateMode) {
- super(id);
-
- ownerContainer = new WebMarkupContainer("ownerContainer");
- ownerContainer.setOutputMarkupId(true);
- this.add(ownerContainer);
-
- final ModalWindow userOwnerSelectWin = new ModalWindow("userOwnerSelectWin");
- userOwnerSelectWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
- userOwnerSelectWin.setCookieName("create-userOwnerSelect-modal");
- this.add(userOwnerSelectWin);
- final ModalWindow groupOwnerSelectWin = new ModalWindow("groupOwnerSelectWin");
- groupOwnerSelectWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
- groupOwnerSelectWin.setCookieName("create-groupOwnerSelect-modal");
- this.add(groupOwnerSelectWin);
- final ModalWindow parentSelectWin = new ModalWindow("parentSelectWin");
- parentSelectWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
- parentSelectWin.setCookieName("create-parentSelect-modal");
- this.add(parentSelectWin);
-
- if (templateMode) {
- parentFragment = new Fragment("parent", "parentFragment", this);
-
- parentModel = new ParentModel(groupTO);
- @SuppressWarnings("unchecked")
- final AjaxTextFieldPanel parent = new AjaxTextFieldPanel("parent", "parent", parentModel);
- parent.setReadOnly(true);
- parent.setOutputMarkupId(true);
- parentFragment.add(parent);
- final AjaxLink<Void> parentSelect = new IndicatingAjaxLink<Void>("parentSelect") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- parentSelectWin.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new GroupSelectModalPage(getPage().getPageReference(), parentSelectWin,
- ParentSelectPayload.class);
- }
- });
- parentSelectWin.show(target);
- }
- };
- parentFragment.add(parentSelect);
- final IndicatingAjaxLink<Void> parentReset = new IndicatingAjaxLink<Void>("parentReset") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- parentModel.setObject(null);
- target.add(parent);
- }
- };
- parentFragment.add(parentReset);
- } else {
- parentFragment = new Fragment("parent", "emptyFragment", this);
- }
- parentFragment.setOutputMarkupId(true);
- this.add(parentFragment);
-
- final AjaxTextFieldPanel name =
- new AjaxTextFieldPanel("name", "name", new PropertyModel<String>(groupTO, "key"));
-
- final WebMarkupContainer jexlHelp = JexlHelpUtils.getJexlHelpWebContainer("jexlHelp");
-
- final AjaxLink<Void> questionMarkJexlHelp = JexlHelpUtils.getAjaxLink(jexlHelp, "questionMarkJexlHelp");
- this.add(questionMarkJexlHelp);
- questionMarkJexlHelp.add(jexlHelp);
-
- if (!templateMode) {
- name.addRequiredLabel();
- questionMarkJexlHelp.setVisible(false);
- }
- this.add(name);
-
- userOwnerModel = new OwnerModel(groupTO, AttributableType.USER);
- @SuppressWarnings("unchecked")
- final AjaxTextFieldPanel userOwner = new AjaxTextFieldPanel("userOwner", "userOwner", userOwnerModel);
- userOwner.setReadOnly(true);
- userOwner.setOutputMarkupId(true);
- ownerContainer.add(userOwner);
- final AjaxLink<Void> userOwnerSelect = new IndicatingAjaxLink<Void>("userOwnerSelect") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- userOwnerSelectWin.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new UserOwnerSelectModalPage(getPage().getPageReference(), userOwnerSelectWin);
- }
- });
- userOwnerSelectWin.show(target);
- }
- };
- ownerContainer.add(userOwnerSelect);
- final IndicatingAjaxLink<Void> userOwnerReset = new IndicatingAjaxLink<Void>("userOwnerReset") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- userOwnerModel.setObject(null);
- target.add(userOwner);
- }
- };
- ownerContainer.add(userOwnerReset);
-
- groupOwnerModel = new OwnerModel(groupTO, AttributableType.GROUP);
- @SuppressWarnings("unchecked")
- final AjaxTextFieldPanel groupOwner = new AjaxTextFieldPanel("groupOwner", "groupOwner", groupOwnerModel);
- groupOwner.setReadOnly(true);
- groupOwner.setOutputMarkupId(true);
- ownerContainer.add(groupOwner);
- final AjaxLink<Void> groupOwnerSelect = new IndicatingAjaxLink<Void>("groupOwnerSelect") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- parentSelectWin.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new GroupSelectModalPage(getPage().getPageReference(), parentSelectWin,
- GroupOwnerSelectPayload.class);
- }
- });
- parentSelectWin.show(target);
- }
- };
- ownerContainer.add(groupOwnerSelect);
- final IndicatingAjaxLink<Void> groupOwnerReset = new IndicatingAjaxLink<Void>("groupOwnerReset") {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- groupOwnerModel.setObject(null);
- target.add(groupOwner);
- }
- };
- ownerContainer.add(groupOwnerReset);
-
- final AjaxCheckBoxPanel inhOwner = new AjaxCheckBoxPanel("inheritOwner", "inheritOwner",
- new PropertyModel<Boolean>(groupTO, "inheritOwner"));
- this.add(inhOwner);
-
- final AjaxCheckBoxPanel inhTemplates = new AjaxCheckBoxPanel("inheritTemplates", "inheritTemplates",
- new PropertyModel<Boolean>(groupTO, "inheritTemplates"));
- inhTemplates.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 GroupAttrTemplatesChange(Type.gPlainAttrTemplates, target));
- send(getPage(), Broadcast.BREADTH, new GroupAttrTemplatesChange(Type.gDerAttrTemplates, target));
- send(getPage(), Broadcast.BREADTH, new GroupAttrTemplatesChange(Type.gVirAttrTemplates, target));
- }
- });
- this.add(inhTemplates);
- }
-
- /**
- * This is waiting for events from opened modal windows: first to get the selected user / group, then to update the
- * respective text panel.
- *
- * {@inheritDoc }
- */
- @Override
- public void onEvent(final IEvent<?> event) {
- super.onEvent(event);
-
- if (event.getPayload() instanceof ParentSelectPayload) {
- parentModel.setObject(((ParentSelectPayload) event.getPayload()).getGroupId());
- }
- if (event.getPayload() instanceof UserOwnerSelectPayload) {
- userOwnerModel.setObject(((UserOwnerSelectPayload) event.getPayload()).getUserId());
- }
- if (event.getPayload() instanceof GroupOwnerSelectPayload) {
- groupOwnerModel.setObject(((GroupOwnerSelectPayload) event.getPayload()).getGroupId());
- }
-
- if (event.getPayload() instanceof AjaxRequestTarget) {
- ((AjaxRequestTarget) event.getPayload()).add(parentFragment);
- ((AjaxRequestTarget) event.getPayload()).add(ownerContainer);
- }
- }
-
- private class OwnerModel implements IModel {
-
- private static final long serialVersionUID = -3865621970810102714L;
-
- private final GroupTO groupTO;
-
- private final AttributableType type;
-
- public OwnerModel(final GroupTO groupTO, final AttributableType type) {
- this.groupTO = groupTO;
- this.type = type;
- }
-
- @Override
- public Object getObject() {
- String object = null;
-
- switch (type) {
- case USER:
- if (groupTO.getUserOwner() != null) {
- UserTO user = null;
- try {
- user = userRestClient.read(groupTO.getUserOwner());
- } catch (Exception e) {
- LOG.warn("Could not find user with id {}, ignoring", groupTO.getUserOwner(), e);
- }
- if (user == null) {
- groupTO.setUserOwner(null);
- } else {
- object = user.getKey() + " " + user.getUsername();
- }
- }
- break;
-
- case GROUP:
- GroupTO group = null;
- if (groupTO.getGroupOwner() != null) {
- try {
- group = groupRestClient.read(groupTO.getGroupOwner());
- } catch (Exception e) {
- LOG.warn("Could not find group with id {}, ignoring", groupTO.getGroupOwner(), e);
- }
- if (group == null) {
- groupTO.setGroupOwner(null);
- } else {
- object = group.getDisplayName();
- }
- }
- break;
-
- case MEMBERSHIP:
- default:
- }
-
- return object;
- }
-
- @Override
- public void setObject(final Object object) {
- switch (type) {
- case USER:
- groupTO.setUserOwner((Long) object);
- break;
-
- case GROUP:
- groupTO.setGroupOwner((Long) object);
- break;
-
- case MEMBERSHIP:
- default:
- }
- }
-
- @Override
- public void detach() {
- // ignore
- }
- }
-
- private class ParentModel implements IModel {
-
- private static final long serialVersionUID = 1006546156848990721L;
-
- private final GroupTO groupTO;
-
- public ParentModel(final GroupTO groupTO) {
- this.groupTO = groupTO;
- }
-
- @Override
- public Object getObject() {
- Object object = null;
- if (groupTO.getParent() != 0) {
- GroupTO parent = null;
- try {
- parent = groupRestClient.read(groupTO.getParent());
- } catch (Exception e) {
- LOG.warn("Could not find group with id {}, ignoring", groupTO.getParent(), e);
- }
- if (parent == null) {
- groupTO.setParent(0);
- } else {
- object = parent.getDisplayName();
- }
- }
- return object;
- }
-
- @Override
- public void setObject(final Object object) {
- groupTO.setParent((object instanceof Long) ? ((Long) object) : 0);
- }
-
- @Override
- public void detach() {
- // ignore
- }
- }
-
- public static class UserOwnerSelectPayload {
-
- private final Long userId;
-
- public UserOwnerSelectPayload(final Long userId) {
- this.userId = userId;
- }
-
- public Long getUserId() {
- return userId;
- }
- }
-
- public static class GroupOwnerSelectPayload {
-
- private final Long groupId;
-
- public GroupOwnerSelectPayload(final Long groupId) {
- this.groupId = groupId;
- }
-
- public Long getGroupId() {
- return groupId;
- }
- }
-
- public static class ParentSelectPayload {
-
- private final Long groupId;
-
- public ParentSelectPayload(final Long groupId) {
- this.groupId = groupId;
- }
-
- public Long getGroupId() {
- return groupId;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupPanel.java
deleted file mode 100644
index 7cbf47e..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupPanel.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.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Mode;
-import org.apache.syncope.client.console.commons.XMLRolesReader;
-import org.apache.syncope.client.console.commons.status.StatusBean;
-import org.apache.syncope.client.console.rest.AuthRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-public class GroupPanel extends Panel {
-
- private static final long serialVersionUID = 4216376097320768369L;
-
- @SpringBean
- private AuthRestClient authRestClient;
-
- @SpringBean
- private XMLRolesReader xmlRolesReader;
-
- private final AjaxPalettePanel<String> entitlements;
-
- public static class Builder implements Serializable {
-
- private static final long serialVersionUID = 8150440254654306070L;
-
- private String id;
-
- private Form form;
-
- private GroupTO groupTO;
-
- private Mode mode;
-
- private PageReference pageReference;
-
- public Builder(final String id) {
- this.id = id;
- }
-
- public Builder form(final Form form) {
- this.form = form;
- return this;
- }
-
- public Builder groupTO(final GroupTO groupTO) {
- this.groupTO = groupTO;
- return this;
- }
-
- public Builder groupModalPageMode(final Mode mode) {
- this.mode = mode;
- return this;
- }
-
- public Builder pageRef(final PageReference pageReference) {
- this.pageReference = pageReference;
- return this;
- }
-
- public GroupPanel build() {
- return new GroupPanel(this);
- }
- }
-
- private GroupPanel(final Builder builder) {
- super(builder.id);
-
- this.add(new GroupDetailsPanel("details", builder.groupTO, builder.mode == Mode.TEMPLATE));
-
- if (builder.pageReference == null || builder.groupTO.getKey() == 0) {
- this.add(new Label("statuspanel", ""));
- } else {
- StatusPanel statusPanel = new StatusPanel(
- "statuspanel", builder.groupTO, new ArrayList<StatusBean>(), builder.pageReference);
- statusPanel.setOutputMarkupId(true);
- MetaDataRoleAuthorizationStrategy.authorize(
- statusPanel, RENDER, xmlRolesReader.getEntitlement("Resources", "getConnectorObject"));
- this.add(statusPanel);
- }
-
- this.add(new AnnotatedBeanPanel("systeminformation", builder.groupTO));
-
- //--------------------------------
- // Attribute templates panel
- //--------------------------------
- AttrTemplatesPanel attrTemplates = new AttrTemplatesPanel("templates", builder.groupTO);
- this.add(attrTemplates);
-
- //--------------------------------
- // Attributes panel
- //--------------------------------
- this.add(new PlainAttrsPanel(
- "plainAttrs", builder.groupTO, builder.form, builder.mode, attrTemplates));
-
- final AjaxCheckBoxPanel inhAttributes = new AjaxCheckBoxPanel("inheritPlainAttrs", "inheritPlainAttrs",
- new PropertyModel<Boolean>(builder.groupTO, "inheritPlainAttrs"));
- inhAttributes.setOutputMarkupId(true);
- this.add(inhAttributes);
- //--------------------------------
-
- //--------------------------------
- // Derived attributes panel
- //--------------------------------
- this.add(new DerAttrsPanel("derAttrs", builder.groupTO, attrTemplates));
-
- final AjaxCheckBoxPanel inhDerivedAttributes = new AjaxCheckBoxPanel("inheritDerAttrs",
- "inheritDerAttrs", new PropertyModel<Boolean>(builder.groupTO, "inheritDerAttrs"));
- inhDerivedAttributes.setOutputMarkupId(true);
- this.add(inhDerivedAttributes);
- //--------------------------------
-
- //--------------------------------
- // Virtual attributes panel
- //--------------------------------
- this.add(new VirAttrsPanel(
- "virAttrs", builder.groupTO, builder.mode == Mode.TEMPLATE, attrTemplates));
-
- final AjaxCheckBoxPanel inhVirtualAttributes = new AjaxCheckBoxPanel("inheritVirAttrs",
- "inheritVirAttrs", new PropertyModel<Boolean>(builder.groupTO, "inheritVirAttrs"));
- inhVirtualAttributes.setOutputMarkupId(true);
- this.add(inhVirtualAttributes);
- //--------------------------------
-
- //--------------------------------
- // Resources panel
- //--------------------------------
- this.add(new ResourcesPanel.Builder("resources").attributableTO(builder.groupTO).build().
- setOutputMarkupId(true));
- //--------------------------------
-
- //--------------------------------
- // Entitlements
- //--------------------------------
- ListModel<String> selectedEntitlements = new ListModel<String>(builder.groupTO.getEntitlements());
-
- List<String> allEntitlements = authRestClient.getAllEntitlements();
- if (allEntitlements != null && !allEntitlements.isEmpty()) {
- Collections.sort(allEntitlements);
- }
- ListModel<String> availableEntitlements = new ListModel<String>(allEntitlements);
-
- entitlements = new AjaxPalettePanel<String>("entitlements", selectedEntitlements, availableEntitlements);
- this.add(entitlements);
-
- //--------------------------------
- // Security panel
- //--------------------------------
- this.add(new GroupSecurityPanel("security", builder.groupTO).setOutputMarkupId(true));
- //--------------------------------
- }
-
- public Collection<String> getSelectedEntitlements() {
- return this.entitlements.getModelCollection();
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchPanel.java
deleted file mode 100644
index d13ab94..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchPanel.java
+++ /dev/null
@@ -1,101 +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.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.apache.syncope.client.lib.SyncopeClient;
-import org.apache.syncope.common.lib.search.AbstractFiqlSearchConditionBuilder;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.wicket.model.LoadableDetachableModel;
-
-public class GroupSearchPanel extends AbstractSearchPanel {
-
- private static final long serialVersionUID = 5757183539269316263L;
-
- public static class Builder implements Serializable {
-
- private static final long serialVersionUID = 6308997285778809579L;
-
- private String id;
-
- private String fiql = null;
-
- private boolean required = true;
-
- public Builder(final String id) {
- this.id = id;
- }
-
- public Builder fiql(final String fiql) {
- this.fiql = fiql;
- return this;
- }
-
- public Builder required(final boolean required) {
- this.required = required;
- return this;
- }
-
- public GroupSearchPanel build() {
- return new GroupSearchPanel(this);
- }
- }
-
- private GroupSearchPanel(final Builder builder) {
- super(builder.id, AttributableType.GROUP, builder.fiql, builder.required);
- }
-
- @Override
- protected void populate() {
- super.populate();
-
- this.types = new LoadableDetachableModel<List<SearchClause.Type>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<SearchClause.Type> load() {
- final List<SearchClause.Type> result = new ArrayList<SearchClause.Type>();
- result.add(SearchClause.Type.ATTRIBUTE);
- result.add(SearchClause.Type.ENTITLEMENT);
- result.add(SearchClause.Type.RESOURCE);
- return result;
- }
- };
-
- this.groupNames = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<String> load() {
- return Collections.<String>emptyList();
- }
- };
- }
-
- @Override
- protected AbstractFiqlSearchConditionBuilder getSearchConditionBuilder() {
- return SyncopeClient.getGroupSearchConditionBuilder();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchResultPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchResultPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchResultPanel.java
deleted file mode 100644
index a7dac82..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSearchResultPanel.java
+++ /dev/null
@@ -1,172 +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.Collection;
-import java.util.Collections;
-import java.util.List;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.pages.ResultStatusModalPage;
-import org.apache.syncope.client.console.pages.GroupModalPage;
-import org.apache.syncope.client.console.pages.StatusModalPage;
-import org.apache.syncope.client.console.rest.AbstractSubjectRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
-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.AbstractAttributableTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-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.grid.ICellPopulator;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.ResourceModel;
-
-public class GroupSearchResultPanel extends AbstractSearchResultPanel {
-
- private static final long serialVersionUID = -1180593361914008764L;
-
- private final static String PAGEID = "Groups";
-
- public <T extends AbstractAttributableTO> GroupSearchResultPanel(final String id, final boolean filtered,
- final String fiql, final PageReference callerRef, final AbstractSubjectRestClient restClient) {
-
- super(id, filtered, fiql, callerRef, restClient);
- initResultTable();
- }
-
- @Override
- protected List<IColumn<AbstractAttributableTO, String>> getColumns() {
- final List<IColumn<AbstractAttributableTO, String>> columns = new ArrayList<>();
-
- for (String item : new String[] { "key", "name", "entitlements" }) {
- columns.add(new PropertyColumn<AbstractAttributableTO, String>(new ResourceModel(item, item), item, item));
- }
-
- columns.add(new AbstractColumn<AbstractAttributableTO, String>(new ResourceModel("actions", "")) {
-
- private static final long serialVersionUID = -3503023501954863131L;
-
- @Override
- public String getCssClass() {
- return "action";
- }
-
- @Override
- public void populateItem(final Item<ICellPopulator<AbstractAttributableTO>> cellItem,
- final String componentId, final IModel<AbstractAttributableTO> model) {
-
- final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, page.getPageReference());
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- statusmodal.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new StatusModalPage<GroupTO>(
- page.getPageReference(), statusmodal, (GroupTO) model.getObject());
- }
- });
-
- statusmodal.show(target);
- }
- }, ActionLink.ActionType.MANAGE_RESOURCES, PAGEID);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- editmodal.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new GroupModalPage(
- page.getPageReference(), editmodal, (GroupTO) model.getObject());
- }
- });
-
- editmodal.show(target);
- }
- }, ActionLink.ActionType.EDIT, PAGEID);
-
- panel.add(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- try {
- final GroupTO groupTO = (GroupTO) restClient.
- delete(model.getObject().getETagValue(), model.getObject().getKey());
-
- page.setModalResult(true);
-
- editmodal.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new ResultStatusModalPage.Builder(editmodal, groupTO).build();
- }
- });
-
- editmodal.show(target);
- } catch (SyncopeClientException scce) {
- error(getString(Constants.OPERATION_ERROR) + ": " + scce.getMessage());
- feedbackPanel.refresh(target);
- }
- }
- }, ActionLink.ActionType.DELETE, PAGEID);
-
- cellItem.add(panel);
- }
- });
-
- return columns;
- }
-
- @Override
- protected Collection<ActionType> getBulkActions() {
- return Collections.<ActionLink.ActionType>singletonList(ActionLink.ActionType.DELETE);
- }
-
- @Override
- protected String getPageId() {
- return PAGEID;
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSecurityPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSecurityPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSecurityPanel.java
deleted file mode 100644
index 4e0e1f9..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSecurityPanel.java
+++ /dev/null
@@ -1,198 +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.HashMap;
-import java.util.Map;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.rest.PolicyRestClient;
-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.common.lib.to.AbstractAttributableTO;
-import org.apache.syncope.common.lib.to.AbstractPolicyTO;
-import org.apache.syncope.common.lib.types.PolicyType;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-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.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class GroupSecurityPanel extends Panel {
-
- /**
- * Logger.
- */
- protected static final Logger LOG = LoggerFactory.getLogger(GroupSecurityPanel.class);
-
- private static final long serialVersionUID = -7982691107029848579L;
-
- @SpringBean
- private PolicyRestClient policyRestClient;
-
- private IModel<Map<Long, String>> passwordPolicies = null;
-
- private IModel<Map<Long, String>> accountPolicies = null;
-
- public <T extends AbstractAttributableTO> GroupSecurityPanel(final String id, final T entityTO) {
- super(id);
-
- setOutputMarkupId(true);
-
- passwordPolicies = new LoadableDetachableModel<Map<Long, String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected Map<Long, String> load() {
- Map<Long, String> res = new HashMap<>();
- for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.PASSWORD, false)) {
- res.put(policyTO.getKey(), policyTO.getDescription());
- }
- return res;
- }
- };
-
- accountPolicies = new LoadableDetachableModel<Map<Long, String>>() {
-
- private static final long serialVersionUID = -2012833443695917883L;
-
- @Override
- protected Map<Long, String> load() {
- Map<Long, String> res = new HashMap<>();
- for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.ACCOUNT, false)) {
- res.put(policyTO.getKey(), policyTO.getDescription());
- }
- return res;
- }
- };
-
- final WebMarkupContainer securityContainer = new WebMarkupContainer("security");
-
- securityContainer.setOutputMarkupId(true);
- add(securityContainer);
-
- // -------------------------------
- // Password policy specification
- // -------------------------------
- final AjaxDropDownChoicePanel<Long> passwordPolicy = new AjaxDropDownChoicePanel<Long>("passwordPolicy",
- "passwordPolicy", new PropertyModel<Long>(entityTO, "passwordPolicy"));
-
- passwordPolicy.setChoiceRenderer(new PolicyRenderer(PolicyType.PASSWORD));
-
- passwordPolicy.setChoices(new ArrayList<Long>(passwordPolicies.getObject().keySet()));
-
- ((DropDownChoice<?>) passwordPolicy.getField()).setNullValid(true);
-
- securityContainer.add(passwordPolicy);
-
- final AjaxCheckBoxPanel inhPasswordPolicy = new AjaxCheckBoxPanel("inheritPasswordPolicy",
- "inheritPasswordPolicy", new PropertyModel<Boolean>(entityTO, "inheritPasswordPolicy"));
-
- passwordPolicy.setReadOnly(inhPasswordPolicy.getModelObject());
-
- inhPasswordPolicy.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- passwordPolicy.setReadOnly(inhPasswordPolicy.getModelObject());
- target.add(passwordPolicy);
- }
- });
-
- securityContainer.add(inhPasswordPolicy);
- // -------------------------------
-
- // -------------------------------
- // Account policy specification
- // -------------------------------
- final AjaxDropDownChoicePanel<Long> accountPolicy = new AjaxDropDownChoicePanel<Long>("accountPolicy",
- "accountPolicy", new PropertyModel<Long>(entityTO, "accountPolicy"));
-
- accountPolicy.setChoiceRenderer(new PolicyRenderer(PolicyType.ACCOUNT));
-
- accountPolicy.setChoices(new ArrayList<Long>(accountPolicies.getObject().keySet()));
-
- ((DropDownChoice<?>) accountPolicy.getField()).setNullValid(true);
-
- securityContainer.add(accountPolicy);
-
- final AjaxCheckBoxPanel inhAccountPolicy = new AjaxCheckBoxPanel("inheritAccountPolicy",
- "inheritAccountPolicy", new PropertyModel<Boolean>(entityTO, "inheritAccountPolicy"));
- accountPolicy.setReadOnly(inhAccountPolicy.getModelObject());
-
- inhAccountPolicy.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- accountPolicy.setReadOnly(inhAccountPolicy.getModelObject());
- target.add(accountPolicy);
- }
- });
-
- securityContainer.add(inhAccountPolicy);
- // -------------------------------
- }
-
- private class PolicyRenderer extends ChoiceRenderer<Long> {
-
- private static final long serialVersionUID = 8060500161321947000L;
-
- private PolicyType type;
-
- public PolicyRenderer(final PolicyType type) {
- super();
- this.type = type;
- }
-
- @Override
- public Object getDisplayValue(final Long object) {
- Object displayValue;
- switch (type) {
- case ACCOUNT:
- displayValue = accountPolicies.getObject().get(object);
- break;
- case PASSWORD:
- displayValue = passwordPolicies.getObject().get(object);
- break;
- default:
- displayValue = "";
- }
- return displayValue;
- }
-
- @Override
- public String getIdValue(Long object, int index) {
- return String.valueOf(object != null
- ? object
- : 0L);
- }
- };
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b7f88690/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSummaryPanel.java
----------------------------------------------------------------------
diff --git a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSummaryPanel.java b/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSummaryPanel.java
deleted file mode 100644
index f9a56e6..0000000
--- a/client/old_console/src/main/java/org/apache/syncope/client/console/panels/GroupSummaryPanel.java
+++ /dev/null
@@ -1,153 +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.io.Serializable;
-import org.apache.syncope.client.console.commons.XMLRolesReader;
-import org.apache.syncope.client.console.pages.GroupModalPage;
-import org.apache.syncope.client.console.rest.GroupRestClient;
-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.GroupTO;
-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.markup.html.panel.Fragment;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class GroupSummaryPanel extends Panel {
-
- private static final long serialVersionUID = 643769814985593156L;
-
- /**
- * Logger.
- */
- private static final Logger LOG = LoggerFactory.getLogger(GroupSummaryPanel.class);
-
- @SpringBean
- private XMLRolesReader xmlRolesReader;
-
- @SpringBean
- private GroupRestClient restClient;
-
- private GroupTO selectedNode;
-
- public static class Builder implements Serializable {
-
- private static final long serialVersionUID = 4164563358509351832L;
-
- private String id;
-
- private ModalWindow window;
-
- private PageReference callerPageRef;
-
- private Long selectedNodeId = null;
-
- public Builder(final String id) {
- this.id = id;
- }
-
- public GroupSummaryPanel.Builder window(final ModalWindow window) {
- this.window = window;
- return this;
- }
-
- public GroupSummaryPanel.Builder callerPageRef(final PageReference callerPageRef) {
- this.callerPageRef = callerPageRef;
- return this;
- }
-
- public GroupSummaryPanel.Builder selectedNodeId(final Long selectedNodeId) {
- this.selectedNodeId = selectedNodeId;
- return this;
- }
-
- public GroupSummaryPanel build() {
- return new GroupSummaryPanel(this);
- }
- }
-
- private GroupSummaryPanel(final Builder builder) {
- super(builder.id);
-
- if (builder.selectedNodeId == null || builder.selectedNodeId == 0) {
- selectedNode = null;
- } else {
- try {
- selectedNode = restClient.read(builder.selectedNodeId);
- } catch (SyncopeClientException e) {
- LOG.error("Could not read {}", builder.selectedNodeId, e);
- selectedNode = null;
- builder.selectedNodeId = null;
- }
- }
-
- Fragment fragment = new Fragment("groupSummaryPanel",
- builder.selectedNodeId == null
- ? "fakerootFrag"
- : (builder.selectedNodeId == 0 ? "rootPanel" : "groupViewPanel"),
- this);
-
- if (builder.selectedNodeId != null) {
- if (builder.selectedNodeId == 0) {
- @SuppressWarnings("rawtypes")
- final ActionLinksPanel links = new ActionLinksPanel("actionLinks", new Model(), builder.callerPageRef);
- links.setOutputMarkupId(true);
- fragment.add(links);
-
- links.addWithRoles(new ActionLink() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- builder.window.setPageCreator(new ModalWindow.PageCreator() {
-
- private static final long serialVersionUID = -7834632442532690940L;
-
- @Override
- public Page createPage() {
- return new GroupModalPage(builder.callerPageRef, builder.window, new GroupTO());
- }
- });
-
- builder.window.show(target);
- }
- }, ActionLink.ActionType.CREATE, xmlRolesReader.getEntitlement("Groups", "create"));
- } else {
- GroupTabPanel groupTabPanel =
- new GroupTabPanel("nodeViewPanel", selectedNode, builder.window, builder.callerPageRef);
- groupTabPanel.setOutputMarkupId(true);
- fragment.add(groupTabPanel);
- }
- }
- add(fragment);
- }
-
- public GroupTO getSelectedNode() {
- return selectedNode;
- }
-}