@Override public int compare(final AnyTypeTO o1, final AnyTypeTO o2) { if (o1.getKind() == AnyTypeKind.USER) { return -1; } if (o2.getKind() == AnyTypeKind.USER) { return 1; } if (o1.getKind() == AnyTypeKind.GROUP) { return -1; } if (o2.getKind() == AnyTypeKind.GROUP) { return 1; } return ObjectUtils.compare(o1.getKey(), o2.getKey()); } }
public <T extends SchemaTO> List<T> getSchemas(final SchemaType schemaType, final AnyTypeKind kind) { final AnyTypeService client = getService(AnyTypeService.class); final List<String> classes = new ArrayList<>(); switch (kind) { case USER: case GROUP: final AnyTypeTO type = client.read(kind.name()); if (type != null) { classes.addAll(type.getClasses()); } break; default: new AnyTypeRestClient().listAnyTypes().stream().filter( anyTypeTO -> (anyTypeTO.getKind() != AnyTypeKind.USER && anyTypeTO.getKind() != AnyTypeKind.GROUP)). forEach((anyTypeTO) -> { classes.addAll(anyTypeTO.getClasses()); }); } return getSchemas(schemaType, null, classes.toArray(new String[] {})); }
@Override public void update(final AnyType anyType, final AnyTypeTO anyTypeTO) { if (anyType.getKey() == null) { anyType.setKey(anyTypeTO.getKey()); } if (anyType.getKind() == null) { anyType.setKind(anyTypeTO.getKind()); } if (anyType.getKind() != anyTypeTO.getKind()) { SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidAnyType); sce.getElements().add(AnyTypeKind.class.getSimpleName() + " cannot be changed"); throw sce; } anyType.getClasses().clear(); anyTypeTO.getClasses().forEach(anyTypeClassName -> { AnyTypeClass anyTypeClass = anyTypeClassDAO.find(anyTypeClassName); if (anyTypeClass == null) { LOG.debug("Invalid " + AnyTypeClass.class.getSimpleName() + " {}, ignoring...", anyTypeClassName); } else { anyType.add(anyTypeClass); } }); }
switch (anyTypeTO.getKind()) { case USER: UserDirectoryPanel.class.cast(AnyPanel.this.directoryPanel).search(
clauses.add(clause); switch (anyTypeTO.getKind()) { case USER: clause.setComparator(SearchClause.Comparator.EQUALS);
public AnyTypeDetailsPanel(final String id, final AnyTypeTO anyTypeTO) { super(id); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true); add(container); final Form<AnyTypeTO> form = new Form<>("form"); form.setModel(new CompoundPropertyModel<>(anyTypeTO)); container.add(form); final AjaxTextFieldPanel key = new AjaxTextFieldPanel("key", getString("key"), new PropertyModel<>(anyTypeTO, "key")); key.addRequiredLabel(); key.setEnabled(key.getModelObject() == null || key.getModelObject().isEmpty()); form.add(key); final AjaxDropDownChoicePanel<AnyTypeKind> kind = new AjaxDropDownChoicePanel<>( "kind", getString("kind"), new PropertyModel<>(anyTypeTO, "kind")); kind.setChoices(Arrays.asList(AnyTypeKind.values())); kind.setOutputMarkupId(true); if (anyTypeTO.getKind() == null) { kind.setModelObject(AnyTypeKind.ANY_OBJECT); } kind.setEnabled(false); form.add(kind); form.add(new AjaxPalettePanel.Builder<String>().setAllowOrder(true).build("classes", new PropertyModel<List<String>>(anyTypeTO, "classes"), new ListModel<>(getAvailableAnyTypeClasses())).hideLabel().setOutputMarkupId(true)); }
switch (anyTypeTO.getKind()) { case USER: fiql = dynRealm == null