You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by md...@apache.org on 2016/01/12 17:50:52 UTC
syncope git commit: [SYNCOPE-755] Only unassigned AnyTypeClasses have
to be available to be assigned to types
Repository: syncope
Updated Branches:
refs/heads/master 4ed984ef6 -> fb416d2d1
[SYNCOPE-755] Only unassigned AnyTypeClasses have to be available to be assigned to types
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/fb416d2d
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/fb416d2d
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/fb416d2d
Branch: refs/heads/master
Commit: fb416d2d1744459b9f52fb3f6b4c38a3e27834e5
Parents: 4ed984e
Author: Marco Di Sabatino Di Diodoro <md...@apache.org>
Authored: Tue Jan 12 17:49:59 2016 +0100
Committer: Marco Di Sabatino Di Diodoro <md...@apache.org>
Committed: Tue Jan 12 17:50:34 2016 +0100
----------------------------------------------------------------------
.../console/panels/AnyTypeClassesPanel.java | 2 +-
.../console/panels/AnyTypeDetailsPanel.java | 35 ++++++++++++++------
.../client/console/panels/AnyTypePanel.java | 6 ++--
3 files changed, 29 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/fb416d2d/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
index be9d3c0..a079462 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
@@ -101,8 +101,8 @@ public class AnyTypeClassesPanel extends AbstractTypesPanel<AnyTypeClassTO, AnyT
} catch (Exception e) {
LOG.error("While creating or updating AnyTypeClassTO", e);
error(getString(Constants.ERROR) + ": " + e.getMessage());
- modal.getNotificationPanel().refresh(target);
}
+ modal.getNotificationPanel().refresh(target);
}
};
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/fb416d2d/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.java
index 8bda922..1226ddb 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.rest.api.service.AnyTypeClassService;
+import org.apache.syncope.common.rest.api.service.AnyTypeService;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
@@ -42,8 +43,11 @@ public class AnyTypeDetailsPanel extends Panel {
private static final long serialVersionUID = 8131650329622035501L;
+ private final AnyTypeTO anyTypeTO;
+
public AnyTypeDetailsPanel(final String id, final AnyTypeTO anyTypeTO) {
super(id);
+ this.anyTypeTO = anyTypeTO;
final WebMarkupContainer container = new WebMarkupContainer("container");
container.setOutputMarkupId(true);
@@ -53,8 +57,8 @@ public class AnyTypeDetailsPanel extends Panel {
form.setModel(new CompoundPropertyModel<>(anyTypeTO));
container.add(form);
- final AjaxTextFieldPanel key
- = new AjaxTextFieldPanel("key", getString("key"), new PropertyModel<String>(anyTypeTO, "key"));
+ final AjaxTextFieldPanel key =
+ new AjaxTextFieldPanel("key", getString("key"), new PropertyModel<String>(anyTypeTO, "key"));
key.addRequiredLabel();
key.setEnabled(key.getModelObject() == null || key.getModelObject().isEmpty());
form.add(key);
@@ -71,14 +75,25 @@ public class AnyTypeDetailsPanel extends Panel {
form.add(new AjaxPalettePanel.Builder<String>().setAllowOrder(true).build("classes",
new PropertyModel<List<String>>(anyTypeTO, "classes"),
- new ListModel<>(CollectionUtils.collect(
- SyncopeConsoleSession.get().getService(AnyTypeClassService.class).list(),
- new Transformer<AnyTypeClassTO, String>() {
+ new ListModel<>(getAvailableAnyTypeClasses())).setOutputMarkupId(true));
+ }
+
+ private List<String> getAvailableAnyTypeClasses() {
+ final List<String> availableAnyTypeClasses = CollectionUtils.collect(
+ SyncopeConsoleSession.get().getService(AnyTypeClassService.class).list(),
+ new Transformer<AnyTypeClassTO, String>() {
- @Override
- public String transform(final AnyTypeClassTO input) {
- return input.getKey();
- }
- }, new ArrayList<String>()))).setOutputMarkupId(true));
+ @Override
+ public String transform(final AnyTypeClassTO input) {
+ return input.getKey();
+ }
+ }, new ArrayList<String>());
+
+ for (AnyTypeTO itemTO : SyncopeConsoleSession.get().getService(AnyTypeService.class).list()) {
+ if (anyTypeTO.getKey() == null || !anyTypeTO.getKey().equals(itemTO.getKey())) {
+ availableAnyTypeClasses.removeAll(itemTO.getClasses());
+ }
+ }
+ return availableAnyTypeClasses;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/fb416d2d/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypePanel.java
index 3bea20a..a89e469 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypePanel.java
@@ -104,8 +104,8 @@ public class AnyTypePanel extends AbstractTypesPanel<AnyTypeTO, AnyTypeProvider>
} catch (Exception e) {
LOG.error("While creating or updating AnyTypeTO", e);
error(getString(Constants.ERROR) + ": " + e.getMessage());
- modal.getNotificationPanel().refresh(target);
}
+ modal.getNotificationPanel().refresh(target);
}
};
}
@@ -203,8 +203,8 @@ public class AnyTypePanel extends AbstractTypesPanel<AnyTypeTO, AnyTypeProvider>
public void populateItem(final Item<ICellPopulator<AnyTypeTO>> item, final String componentId,
final IModel<AnyTypeTO> model) {
- final ActionLinksPanel.Builder<Serializable> actionLinks
- = ActionLinksPanel.builder(page.getPageReference());
+ final ActionLinksPanel.Builder<Serializable> actionLinks =
+ ActionLinksPanel.builder(page.getPageReference());
actionLinks.setDisableIndicator(true);
actionLinks.addWithRoles(new ActionLink<Serializable>() {