private List<String> getSchemas(final AnyTypeTO anyType, final List<String> anyTypeClasses) { List<String> classes = new ArrayList<>(anyType.getClasses()); classes.addAll(anyTypeClasses); return schemaRestClient.<PlainSchemaTO>getSchemas( SchemaType.PLAIN, null, classes.toArray(new String[] {})). stream().map(EntityTO::getKey).collect(Collectors.toList()); } }
private List<String> getSchemas() { AnyTypeTO type = null; try { type = anyTypeRestClient.read(AnyTypeKind.USER.name()); } catch (SyncopeClientException e) { LOG.error("While reading all any types", e); } String[] anyTypeClasses = type == null ? new String[0] : type.getClasses().toArray(new String[] {}); List<String> result = new ArrayList<>(); result.add("username"); result.addAll(schemaRestClient.<PlainSchemaTO>getSchemas(SchemaType.PLAIN, null, anyTypeClasses). stream().map(EntityTO::getKey).collect(Collectors.toList())); result.addAll(schemaRestClient.<DerSchemaTO>getSchemas(SchemaType.DERIVED, null, anyTypeClasses). stream().map(EntityTO::getKey).collect(Collectors.toList())); result.addAll(schemaRestClient.<VirSchemaTO>getSchemas(SchemaType.VIRTUAL, null, anyTypeClasses). stream().map(EntityTO::getKey).collect(Collectors.toList())); Collections.sort(result); return result; } }
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 AnyTypeTO getAnyTypeTO(final AnyType anyType) { AnyTypeTO anyTypeTO = new AnyTypeTO(); anyTypeTO.setKey(anyType.getKey()); anyTypeTO.setKind(anyType.getKind()); anyType.getClasses().forEach(anyTypeClass -> { anyTypeTO.getClasses().add(anyTypeClass.getKey()); }); return anyTypeTO; }
if (anyType != null) { try { anyTypeClassTOs.addAll(anyTypeClassRestClient.list(anyType.getClasses())); } catch (Exception e) { LOG.error("Could not read AnyType classes for {}", anyType.getClasses(), e);
@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); } }); }
if (!anyType.getClasses().contains(aux.getKey())) { choices.add(aux.getKey());
"Edit template")); final List<String> classes = new AnyTypeRestClient().read(typeModel.getObject()).getClasses();
@Override protected void onUpdate(final AjaxRequestTarget target) { final AnyTypeTO anyType = otherType.getModelObject(); if (anyType == null) { Fragment emptyFragment = new Fragment("searchPanel", "emptyFragment", Specification.this); container.addOrReplace(emptyFragment.setRenderBodyOnly(true)); } else { final Fragment fragment = new Fragment("searchPanel", "searchFragment", Specification.this); container.addOrReplace(fragment.setRenderBodyOnly(true)); anyObjectSearchPanel = new AnyObjectSearchPanel.Builder( anyType.getKey(), new ListModel<>(new ArrayList<>())). enableSearch(Specification.this). build("searchPanel"); fragment.add(anyObjectSearchPanel.setRenderBodyOnly(true)); anyObjectDirectoryPanel = new AnyObjectSelectionDirectoryPanel.Builder( anyTypeClassRestClient.list(anyType.getClasses()), anyType.getKey(), pageRef). setFiql(SyncopeClient.getAnyObjectSearchConditionBuilder(anyType.getKey()). is("key").notNullValue().query()). setWizardInModal(true).build("searchResultPanel"); fragment.add(anyObjectDirectoryPanel.setRenderBodyOnly(true)); } target.add(container); } });
previousUserTO, newUserTO, new AnyTypeRestClient().read(remediationTO.getAnyType()).getClasses(), FormLayoutInfoUtils.fetch(Arrays.asList(remediationTO.getAnyType())).getLeft(), pageRef previousGroupTO, newGroupTO, new AnyTypeRestClient().read(remediationTO.getAnyType()).getClasses(), FormLayoutInfoUtils.fetch(Arrays.asList(remediationTO.getAnyType())).getMiddle(), pageRef previousAnyObjectTO, newAnyObjectTO, new AnyTypeRestClient().read(remediationTO.getAnyType()).getClasses(), FormLayoutInfoUtils.fetch(Arrays.asList(remediationTO.getAnyType())). getRight().values().iterator().next(),
userTO.setRealm(realmTO.getFullPath()); panel = new UserDirectoryPanel.Builder( anyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).setRealm(realm).setDynRealm(dynRealm).setFiltered(true). setFiql(fiql).setWizardInModal(true).addNewItemPanelBuilder(FormLayoutInfoUtils.instantiate( userTO, anyTypeTO.getClasses(), formLayoutInfo.getLeft(), pageRef)).build(id); groupTO.setRealm(realmTO.getFullPath()); panel = new GroupDirectoryPanel.Builder( anyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).setRealm(realm).setDynRealm(dynRealm).setFiltered(true). setFiql(fiql).setWizardInModal(true).addNewItemPanelBuilder(FormLayoutInfoUtils.instantiate( groupTO, anyTypeTO.getClasses(), formLayoutInfo.getMiddle(), pageRef)).build(id); anyObjectTO.setType(anyTypeTO.getKey()); panel = new AnyObjectDirectoryPanel.Builder( anyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).setRealm(realm).setDynRealm(dynRealm).setFiltered(true). setFiql(fiql).setWizardInModal(true).addNewItemPanelBuilder(FormLayoutInfoUtils.instantiate( anyObjectTO,
anyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).build("searchResult")); anyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).build("searchResult"));