use of org.apache.syncope.common.lib.to.AnyTypeTO in project syncope by apache.
the class SearchITCase method issueSYNCOPE980.
@Test
public void issueSYNCOPE980() {
AnyTypeTO service = new AnyTypeTO();
service.setKey("SERVICE");
service.setKind(AnyTypeKind.ANY_OBJECT);
Response response = anyTypeService.create(service);
assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatusInfo().getStatusCode());
String serviceKey = null;
try {
AnyObjectTO anyObjectTO = new AnyObjectTO();
anyObjectTO.setName("one");
anyObjectTO.setRealm(SyncopeConstants.ROOT_REALM);
anyObjectTO.setType(service.getKey());
anyObjectTO.getMemberships().add(new MembershipTO.Builder().group("29f96485-729e-4d31-88a1-6fc60e4677f3").build());
serviceKey = createAnyObject(anyObjectTO).getEntity().getKey();
AnyObjectPatch anyObjectPatch = new AnyObjectPatch();
anyObjectPatch.setKey("fc6dbc3a-6c07-4965-8781-921e7401a4a5");
anyObjectPatch.getMemberships().add(new MembershipPatch.Builder().group("29f96485-729e-4d31-88a1-6fc60e4677f3").build());
updateAnyObject(anyObjectPatch);
PagedResult<AnyObjectTO> matching = anyObjectService.search(new AnyQuery.Builder().fiql(SyncopeClient.getAnyObjectSearchConditionBuilder(service.getKey()).inGroups("29f96485-729e-4d31-88a1-6fc60e4677f3").query()).build());
assertEquals(1, matching.getSize());
assertEquals(serviceKey, matching.getResult().get(0).getKey());
} finally {
if (serviceKey != null) {
anyObjectService.delete(serviceKey);
}
anyTypeService.delete(service.getKey());
}
}
use of org.apache.syncope.common.lib.to.AnyTypeTO in project syncope by apache.
the class NotificationWizardBuilder method getSchemas.
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;
}
use of org.apache.syncope.common.lib.to.AnyTypeTO in project syncope by apache.
the class AnyTypeServiceImpl method create.
@Override
public Response create(final AnyTypeTO anyTypeTO) {
AnyTypeTO created = logic.create(anyTypeTO);
URI location = uriInfo.getAbsolutePathBuilder().path(created.getKey()).build();
return Response.created(location).header(RESTHeaders.RESOURCE_KEY, created.getKey()).build();
}
use of org.apache.syncope.common.lib.to.AnyTypeTO in project syncope by apache.
the class SchemaRestClient method getSchemas.
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[] {}));
}
use of org.apache.syncope.common.lib.to.AnyTypeTO in project syncope by apache.
the class Realm method buildTabList.
private List<ITab> buildTabList(final PageReference pageRef) {
List<ITab> tabs = new ArrayList<>();
tabs.add(new ITabComponent(new Model<>("DETAILS"), StandardEntitlement.REALM_CREATE, StandardEntitlement.REALM_UPDATE, StandardEntitlement.REALM_DELETE) {
private static final long serialVersionUID = -5861786415855103549L;
@Override
public Panel getPanel(final String panelId) {
final ActionsPanel<RealmTO> actionPanel = new ActionsPanel<>("actions", null);
if (realmTO.getFullPath().startsWith(SyncopeConstants.ROOT_REALM)) {
actionPanel.add(new ActionLink<RealmTO>(realmTO) {
private static final long serialVersionUID = 2802988981431379827L;
@Override
public void onClick(final AjaxRequestTarget target, final RealmTO ignore) {
onClickCreate(target);
}
}, ActionLink.ActionType.CREATE, StandardEntitlement.REALM_CREATE).hideLabel();
actionPanel.add(new ActionLink<RealmTO>(realmTO) {
private static final long serialVersionUID = 2802988981431379828L;
@Override
public void onClick(final AjaxRequestTarget target, final RealmTO ignore) {
onClickEdit(target, realmTO);
}
}, ActionLink.ActionType.EDIT, StandardEntitlement.REALM_UPDATE).hideLabel();
actionPanel.add(new ActionLink<RealmTO>(realmTO) {
private static final long serialVersionUID = 2802988981431379827L;
@Override
public void onClick(final AjaxRequestTarget target, final RealmTO ignore) {
onClickTemplate(target);
}
}, ActionLink.ActionType.TEMPLATE, StandardEntitlement.REALM_UPDATE).hideLabel();
actionPanel.add(new ActionLink<RealmTO>(realmTO) {
private static final long serialVersionUID = 2802988981431379829L;
@Override
public void onClick(final AjaxRequestTarget target, final RealmTO ignore) {
onClickDelete(target, realmTO);
}
}, ActionLink.ActionType.DELETE, StandardEntitlement.REALM_DELETE, true).hideLabel();
}
RealmDetails panel = new RealmDetails(panelId, realmTO, actionPanel, false);
panel.setContentEnabled(false);
actionPanel.setEnabled(true);
return panel;
}
@Override
public boolean isVisible() {
return SyncopeConsoleApplication.get().getSecuritySettings().getAuthorizationStrategy().isActionAuthorized(this, RENDER);
}
});
final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo = FormLayoutInfoUtils.fetch(anyTypes.stream().map(EntityTO::getKey).collect(Collectors.toList()));
for (final AnyTypeTO anyType : anyTypes) {
tabs.add(new ITabComponent(new Model<>(anyType.getKey()), String.format("%s_SEARCH", anyType.getKey())) {
private static final long serialVersionUID = 1169585538404171118L;
@Override
public WebMarkupContainer getPanel(final String panelId) {
return new AnyPanel(panelId, anyType, realmTO, formLayoutInfo, true, pageRef);
}
@Override
public boolean isVisible() {
return SyncopeConsoleApplication.get().getSecuritySettings().getAuthorizationStrategy().isActionAuthorized(this, RENDER);
}
});
}
return tabs;
}
Aggregations