@RestController
@RequestMapping(value="/servers/{serverName}/open-metadata/access-services/subject-area")
public class SubjectAreaProjectRESTResource
extends Object
| Constructor and Description |
|---|
SubjectAreaProjectRESTResource()
Default constructor
|
| Modifier and Type | Method and Description |
|---|---|
SubjectAreaOMASAPIResponse<Project> |
createProject(String serverName,
String userId,
Project suppliedProject)
Create a Project.
|
SubjectAreaOMASAPIResponse<Project> |
deleteProject(String serverName,
String userId,
String guid,
Boolean isPurge)
Delete a Project instance
|
SubjectAreaOMASAPIResponse<Project> |
findProject(String serverName,
String userId,
String searchCriteria,
Boolean exactValue,
Boolean ignoreCase,
Date asOfTime,
Integer startingFrom,
Integer pageSize,
SequencingOrder sequencingOrder,
String sequencingProperty)
Find Project
|
SubjectAreaOMASAPIResponse<Project> |
getProject(String serverName,
String userId,
String guid)
Get a Project.
|
SubjectAreaOMASAPIResponse<Relationship> |
getProjectRelationships(String serverName,
String userId,
String guid,
Date asOfTime,
Integer startingFrom,
Integer pageSize,
SequencingOrder sequencingOrder,
String sequencingProperty)
Get Project relationships
|
SubjectAreaOMASAPIResponse<Term> |
getProjectTerms(String serverName,
String userId,
String guid,
Integer startingFrom,
Integer pageSize)
Get the terms in this project.
|
SubjectAreaOMASAPIResponse<Project> |
restoreProject(String serverName,
String userId,
String guid)
Restore a Project
|
SubjectAreaOMASAPIResponse<Project> |
updateProject(String serverName,
String userId,
String guid,
Project Project,
Boolean isReplace)
Update a Project
|
public SubjectAreaProjectRESTResource()
@PostMapping(path="/users/{userId}/projects")
public SubjectAreaOMASAPIResponse<Project> createProject(@PathVariable
String serverName,
@PathVariable
String userId,
@RequestBody
Project suppliedProject)
Projects with the same name can be confusing. Best practise is to create projects that have unique names. This Create call does not police that Project names are unique. So it is possible to create projects with the same name as each other.
Projects that are created using this call will be GlossaryProjects.
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedsuppliedProject - Project to create@GetMapping(path="/users/{userId}/projects/{guid}")
public SubjectAreaOMASAPIResponse<Project> getProject(@PathVariable
String serverName,
@PathVariable
String userId,
@PathVariable
String guid)
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - userId under which the request is performedguid - guid of the Project to get@GetMapping(path="/users/{userId}/projects")
public SubjectAreaOMASAPIResponse<Project> findProject(@PathVariable
String serverName,
@PathVariable
String userId,
@RequestParam(value="searchCriteria",required=false)
String searchCriteria,
@RequestParam(value="exactValue",required=false,defaultValue="false")
Boolean exactValue,
@RequestParam(value="ignoreCase",required=false,defaultValue="true")
Boolean ignoreCase,
@RequestParam(value="asOfTime",required=false)
Date asOfTime,
@RequestParam(value="startingFrom",required=false,defaultValue="0")
Integer startingFrom,
@RequestParam(value="pageSize",required=false)
Integer pageSize,
@RequestParam(value="sequencingOrder",required=false)
SequencingOrder sequencingOrder,
@RequestParam(value="sequencingProperty",required=false)
String sequencingProperty)
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedsearchCriteria - String expression matching Project property values. If not specified then all projects are returned.exactValue - a boolean, which when set means that only exact matches will be returned, otherwise matches that start with the search criteria will be returned.ignoreCase - a boolean, which when set means that case will be ignored, if not set that case will be respectedasOfTime - the projects returned as they were at this time. null indicates at the current time.startingFrom - the starting element number for this set of results. This is used when retrieving elementspageSize - the maximum number of elements that can be returned on this request.sequencingOrder - the sequencing order for the results.sequencingProperty - the name of the property that should be used to sequence the results.@GetMapping(path="/users/{userId}/projects/{guid}/relationships")
public SubjectAreaOMASAPIResponse<Relationship> getProjectRelationships(@PathVariable
String serverName,
@PathVariable
String userId,
@PathVariable
String guid,
@RequestParam(value="asOfTime",required=false)
Date asOfTime,
@RequestParam(value="startingFrom",required=false,defaultValue="0")
Integer startingFrom,
@RequestParam(value="pageSize",required=false)
Integer pageSize,
@RequestParam(value="sequencingOrder",required=false)
SequencingOrder sequencingOrder,
@RequestParam(value="sequencingProperty",required=false)
String sequencingProperty)
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedguid - guid of the Project to getasOfTime - the relationships returned as they were at this time. null indicates at the current time. If specified, the date is in milliseconds since 1970-01-01 00:00:00.startingFrom - the starting element number for this set of results. This is used when retrieving elements
beyond the first page of results. Zero means the results start from the first element.pageSize - the maximum number of elements that can be returned on this request.sequencingOrder - the sequencing order for the results.sequencingProperty - the name of the property that should be used to sequence the results.@GetMapping(path="/users/{userId}/projects/{guid}/terms")
public SubjectAreaOMASAPIResponse<Term> getProjectTerms(@PathVariable
String serverName,
@PathVariable
String userId,
@PathVariable
String guid,
@RequestParam(value="startingFrom",required=false,defaultValue="0")
Integer startingFrom,
@RequestParam(value="pageSize",required=false)
Integer pageSize)
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedguid - guid of the Project to getstartingFrom - the starting element number for this set of results. This is used when retrieving elements
beyond the first page of results. Zero means the results start from the first element.pageSize - the maximum number of elements that can be returned on this request.@PutMapping(path="/users/{userId}/projects/{guid}")
public SubjectAreaOMASAPIResponse<Project> updateProject(@PathVariable
String serverName,
@PathVariable
String userId,
@PathVariable
String guid,
@RequestBody
Project Project,
@RequestParam(value="isReplace",required=false,defaultValue="false")
Boolean isReplace)
If the caller has chosen to incorporate the Project name in their Project Terms or Categories qualified name, renaming the Project will cause those qualified names to mismatch the Project name. If the caller has chosen to incorporate the Project qualifiedName in their Project Terms or Categories qualified name, changing the qualified name of the Project will cause those qualified names to mismatch the Project name. Status is not updated using this call.
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedguid - guid of the Project to updateProject - Project to updateisReplace - flag to indicate that this update is a replace. When not set only the supplied (non null) fields are updated.@DeleteMapping(path="/users/{userId}/projects/{guid}")
public SubjectAreaOMASAPIResponse<Project> deleteProject(@PathVariable
String serverName,
@PathVariable
String userId,
@PathVariable
String guid,
@RequestParam(value="isPurge",required=false,defaultValue="false")
Boolean isPurge)
There are 2 types of deletion, a soft delete and a hard delete (also known as a purge). All repositories support hard deletes. Soft deletes support is optional. Soft delete is the default.
A soft delete means that the Project instance will exist in a deleted state in the repository after the delete operation. This means that it is possible to undo the delete. A hard delete means that the Project will not exist after the operation. when not successful the following Exceptions can occur
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedguid - guid of the Project to be deleted.isPurge - true indicates a hard delete, false is a soft delete.@PostMapping(path="/users/{userId}/projects/{guid}")
public SubjectAreaOMASAPIResponse<Project> restoreProject(@PathVariable
String serverName,
@PathVariable
String userId,
@PathVariable
String guid)
Restore allows the deleted Project to be made active again. Restore allows deletes to be undone. Hard deletes are not stored in the repository so cannot be restored.
serverName - serverName under which this request is performed, this is used in multi tenanting to identify the tenantuserId - unique identifier for requesting user, under which the request is performedguid - guid of the Project to restoreCopyright © 2018–2021 LF AI & Data Foundation. All rights reserved.