use of io.swagger.v3.core.oas.models.Person in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testDefinitions.
@Test
public void testDefinitions() {
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "info:\n" + " version: ''\n" + " title: ''\n" + "paths: {}\n" + "components:\n" + " schemas:\n" + " invalid: true\n" + " Person:\n" + " required:\n" + " - id\n" + " - name\n" + " properties:\n" + " id:\n" + " type: integer\n" + " format: int64\n" + " name:\n" + " type: string";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
List<String> messageList = result.getMessages();
Set<String> messages = new HashSet<>(messageList);
assertTrue(messages.contains("attribute components.schemas.invalid is not of type `object`"));
assertTrue(result.getOpenAPI().getComponents().getSchemas().get("Person") instanceof Schema);
List<String> required = ((Schema) result.getOpenAPI().getComponents().getSchemas().get("Person")).getRequired();
Set<String> requiredKeys = new HashSet<String>(required);
assertTrue(requiredKeys.contains("id"));
assertTrue(requiredKeys.contains("name"));
assertTrue(requiredKeys.size() == 2);
}
use of io.swagger.v3.core.oas.models.Person in project oxTrust by GluuFederation.
the class PeopleWebResource method createPerson.
@POST
@Operation(summary = "Add person", description = "Add a person")
@ApiResponses(value = { @ApiResponse(responseCode = "201", content = @Content(schema = @Schema(implementation = GluuPersonApi.class)), description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response createPerson(GluuPersonApi person) {
log(logger, "Adding person " + person.getDisplayName());
try {
Objects.requireNonNull(person, "Attempt to create null person");
GluuCustomPerson gluuPerson = copyAttributes(person);
String inum = person.getInum();
if (StringHelper.isEmpty(inum)) {
inum = personService.generateInumForNewPerson();
}
gluuPerson.setDn(personService.getDnForPerson(inum));
gluuPerson.setInum(inum);
personService.addPerson(gluuPerson);
return Response.status(Response.Status.CREATED).entity(convert(Arrays.asList(personService.getPersonByInum(inum))).get(0)).build();
} catch (Exception e) {
log(logger, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
use of io.swagger.v3.core.oas.models.Person in project oxTrust by GluuFederation.
the class PeopleWebResource method updatePerson.
@PUT
@Operation(summary = "Update person", description = "Update a person")
@ApiResponses(value = { @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = GluuPersonApi.class)), description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response updatePerson(GluuPersonApi person) {
String inum = person.getInum();
log(logger, "Update group " + inum);
try {
Objects.requireNonNull(inum, "inum should not be null");
Objects.requireNonNull(person, "Attempt to update null person");
GluuCustomPerson existingPerson = personService.getPersonByInum(inum);
if (existingPerson != null) {
person.setInum(existingPerson.getInum());
person.setPassword(existingPerson.getUserPassword());
GluuCustomPerson personToUpdate = updateValues(existingPerson, person);
personToUpdate.setDn(personService.getDnForPerson(inum));
personService.updatePerson(personToUpdate);
return Response.ok(convert(Arrays.asList(personService.getPersonByInum(inum))).get(0)).build();
} else {
return Response.status(Response.Status.NOT_FOUND).build();
}
} catch (Exception e) {
log(logger, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
use of io.swagger.v3.core.oas.models.Person in project oxTrust by GluuFederation.
the class GroupWebResource method addGroupMember.
@POST
@Operation(summary = "Add group member", description = "Add group member")
@ApiResponses(value = { @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = GluuGroupApi[].class)), description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@Path(ApiConstants.INUM_PARAM_PATH + ApiConstants.GROUP_MEMBERS + ApiConstants.MEMBER_INUM_PARAM_PATH)
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response addGroupMember(@PathParam(ApiConstants.INUM) @NotNull String groupInum, @PathParam(ApiConstants.MEMBER_INUM) @NotNull String memberInum) {
log("Add member " + memberInum + " to group" + groupInum);
try {
Objects.requireNonNull(groupInum, "Group's inum should not be null");
Objects.requireNonNull(memberInum, "Member's inum should not be null");
GluuGroup group = groupService.getGroupByInum(groupInum);
GluuCustomPerson person = personService.getPersonByInum(memberInum);
if (group != null && person != null) {
List<String> members = new ArrayList<String>();
if (group.getMembers() != null) {
members = group.getMembers();
}
members.add(personService.getDnForPerson(person.getInum()));
group.setMembers(members);
groupService.updateGroup(group);
return Response.ok(Response.Status.OK).build();
} else {
return Response.status(Response.Status.NOT_FOUND).build();
}
} catch (Exception e) {
log(logger, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
use of io.swagger.v3.core.oas.models.Person in project oxTrust by GluuFederation.
the class GroupWebResource method removeGroupMember.
@DELETE
@Operation(summary = "Remove group member", description = "Remove a member from group")
@ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@Path(ApiConstants.INUM_PARAM_PATH + ApiConstants.GROUP_MEMBERS + ApiConstants.MEMBER_INUM_PARAM_PATH)
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response removeGroupMember(@PathParam(ApiConstants.INUM) @NotNull String groupInum, @PathParam(ApiConstants.MEMBER_INUM) @NotNull String memberInum) {
log("Remove member " + memberInum + " from group" + groupInum);
try {
Objects.requireNonNull(groupInum, "Group's inum should not be null");
Objects.requireNonNull(memberInum, "Member's inum should not be null");
GluuGroup group = groupService.getGroupByInum(groupInum);
GluuCustomPerson person = personService.getPersonByInum(memberInum);
if (group != null && person != null) {
List<String> members = new ArrayList<String>(group.getMembers());
members.remove(personService.getDnForPerson(person.getInum()));
group.setMembers(members);
groupService.updateGroup(group);
return Response.ok(Response.Status.OK).build();
} else {
return Response.status(Response.Status.NOT_FOUND).build();
}
} catch (Exception e) {
log(logger, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
Aggregations