Class PostgresOMRSMetadataCollection
java.lang.Object
org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollection
org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollectionBase
org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSDynamicTypeMetadataCollectionBase
org.odpi.openmetadata.adapters.repositoryservices.postgres.repositoryconnector.PostgresOMRSMetadataCollection
- All Implemented Interfaces:
AuditLoggingComponent
The PostgresOMRSMetadataCollection represents a metadata repository that supports a repository that stores the
open metadata instances in a PostgreSQL database. Each repository has the same table design, located
in its own database schema.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollection
auditLog, metadataCollectionId, metadataCollectionName, parentConnector, repositoryHelper, repositoryName, repositoryValidator
-
Constructor Summary
ModifierConstructorDescriptionprotected
PostgresOMRSMetadataCollection
(PostgresOMRSRepositoryConnector parentConnector, String repositoryName, OMRSRepositoryHelper repositoryHelper, OMRSRepositoryValidator repositoryValidator, boolean isReadOnly, Date defaultAsOfTime, JDBCResourceConnector jdbcResourceConnector, String metadataCollectionId) Constructor ensures the metadata collection is linked to its connector and knows its metadata collection id. -
Method Summary
Modifier and TypeMethodDescriptionaddEntity
(String userId, String entityTypeGUID, InstanceProperties initialProperties, List<Classification> initialClassifications, InstanceStatus initialStatus) Create a new entity and put it in the requested state.void
addEntityProxy
(String userId, EntityProxy entityProxy) Create an entity proxy in the metadata collection.addExternalEntity
(String userId, String entityTypeGUID, String externalSourceGUID, String externalSourceName, InstanceProperties initialProperties, List<Classification> initialClassifications, InstanceStatus initialStatus) Save a new entity that is sourced from an external technology.addExternalRelationship
(String userId, String relationshipTypeGUID, String externalSourceGUID, String externalSourceName, InstanceProperties initialProperties, String entityOneGUID, String entityTwoGUID, InstanceStatus initialStatus) Save a new relationship that is sourced from an external technology.addRelationship
(String userId, String relationshipTypeGUID, InstanceProperties initialProperties, String entityOneGUID, String entityTwoGUID, InstanceStatus initialStatus) Add a new relationship between two entities to the metadata collection.classifyEntity
(String userId, String entityGUID, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties classificationProperties) Add the requested classification to a specific entity.classifyEntity
(String userId, String entityGUID, String classificationName, InstanceProperties classificationProperties) Add the requested classification to a specific entity.classifyEntity
(String userId, EntityProxy entityProxy, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties classificationProperties) Add the requested classification to a specific entity.classifyEntity
(String userId, EntityProxy entityProxy, String classificationName, InstanceProperties classificationProperties) Add the requested classification to a specific entity.declassifyEntity
(String userId, String entityGUID, String classificationName) Remove a specific classification from an entity.declassifyEntity
(String userId, EntityProxy entityProxy, String classificationName) Remove a specific classification from an entity.deleteEntity
(String userId, String typeDefGUID, String typeDefName, String obsoleteEntityGUID) Delete an entity.deleteRelationship
(String userId, String typeDefGUID, String typeDefName, String obsoleteRelationshipGUID) Delete a specific relationship.findEntities
(String userId, String entityTypeGUID, List<String> entitySubtypeGUIDs, SearchProperties matchProperties, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, SearchClassifications matchClassifications, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of entities that match the supplied criteria.findEntitiesByClassification
(String userId, String entityTypeGUID, String classificationName, InstanceProperties matchClassificationProperties, MatchCriteria matchCriteria, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of entities that have the requested type of classifications attached.findEntitiesByProperty
(String userId, String entityTypeGUID, InstanceProperties matchProperties, MatchCriteria matchCriteria, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of entities that match the supplied properties according to the match criteria.findEntitiesByPropertyValue
(String userId, String entityTypeGUID, String searchCriteria, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of entities whose string based property values match the search criteria.findRelationships
(String userId, String relationshipTypeGUID, List<String> relationshipSubtypeGUIDs, SearchProperties matchProperties, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of relationships that match the requested conditions.findRelationshipsByProperty
(String userId, String relationshipTypeGUID, InstanceProperties matchProperties, MatchCriteria matchCriteria, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of relationships that match the requested properties by the matching criteria.findRelationshipsByPropertyValue
(String userId, String relationshipTypeGUID, String searchCriteria, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return a list of relationships whose string based property values match the search criteria.getEntityDetail
(String userId, String guid) Return the header, classifications and properties of a specific entity.getEntityDetail
(String userId, String guid, Date asOfTime) Return a historical version of an entity - includes the header, classifications and properties of the entity.getEntityDetailHistory
(String userId, String guid, Date fromTime, Date toTime, int startFromElement, int pageSize, HistorySequencingOrder sequencingOrder) Return all historical versions of an entity within the bounds of the provided timestamps.getEntitySummary
(String userId, String guid) Return the header and classifications for a specific entity.getHomeClassifications
(String userId, String entityGUID) Retrieve any locally homed classifications assigned to the requested entity.getRelationship
(String userId, String guid) Return a requested relationship.getRelationship
(String userId, String guid, Date asOfTime) Return a historical version of a relationship.getRelationshipHistory
(String userId, String guid, Date fromTime, Date toTime, int startFromElement, int pageSize, HistorySequencingOrder sequencingOrder) Return all historical versions of a relationship within the bounds of the provided timestamps.getRelationshipsForEntity
(String userId, String entityGUID, String relationshipTypeGUID, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return the relationships for a specific entity.isEntityKnown
(String userId, String guid) Returns a boolean indicating if the entity is stored in the metadata collection.isRelationshipKnown
(String userId, String guid) Returns a relationship indicating if the relationship is stored in the metadata collection.void
purgeClassificationReferenceCopy
(String userId, EntityDetail entity, Classification classification) Remove the reference copy of the classification from the local repository.void
purgeClassificationReferenceCopy
(String userId, EntityProxy entityProxy, Classification classification) Remove the reference copy of the classification from the local repository.void
purgeEntity
(String userId, String typeDefGUID, String typeDefName, String deletedEntityGUID) Permanently removes a deleted entity from the metadata collection.void
purgeEntityReferenceCopy
(String userId, String entityGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId) Remove a reference copy of the entity from the local repository.void
purgeRelationship
(String userId, String typeDefGUID, String typeDefName, String deletedRelationshipGUID) Permanently delete the relationship from the repository.void
purgeRelationshipReferenceCopy
(String userId, String relationshipGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId) Remove the reference copy of the relationship from the local repository.reHomeEntity
(String userId, String entityGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName) Change the home of an existing entity.reHomeRelationship
(String userId, String relationshipGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName) Change the home of an existing relationship.reIdentifyEntity
(String userId, String typeDefGUID, String typeDefName, String entityGUID, String newEntityGUID) Change the guid of an existing entity to a new value.reIdentifyRelationship
(String userId, String typeDefGUID, String typeDefName, String relationshipGUID, String newRelationshipGUID) Change the guid of an existing relationship.restoreEntity
(String userId, String deletedEntityGUID) Restore the requested entity to the state it was before it was deleted.restoreRelationship
(String userId, String deletedRelationshipGUID) Restore a deleted relationship into the metadata collection.reTypeEntity
(String userId, String entityGUID, TypeDefSummary currentTypeDefSummary, TypeDefSummary newTypeDefSummary) Change the type of existing entity.reTypeRelationship
(String userId, String relationshipGUID, TypeDefSummary currentTypeDefSummary, TypeDefSummary newTypeDefSummary) Change the type an existing relationship.void
saveClassificationReferenceCopy
(String userId, EntityDetail entity, Classification classification) Save the classification as a reference copy.void
saveClassificationReferenceCopy
(String userId, EntityProxy entityProxy, Classification classification) Save the classification as a reference copy.void
saveEntityReferenceCopy
(String userId, EntityDetail entity) Save the entity as a reference copy.void
saveRelationshipReferenceCopy
(String userId, Relationship relationship) Save the relationship as a reference copy.undoEntityUpdate
(String userId, String entityGUID) Undo the last update to an entity and return the previous content.undoRelationshipUpdate
(String userId, String relationshipGUID) Undo the latest change to a relationship (either a change of properties or status).updateEntityClassification
(String userId, String entityGUID, String classificationName, InstanceProperties properties) Update one or more properties in one of an entity's classifications.updateEntityClassification
(String userId, EntityProxy entityProxy, String classificationName, InstanceProperties properties) Update one or more properties in one of an entity's classifications.updateEntityProperties
(String userId, String entityGUID, InstanceProperties properties) Update selected properties in an entity.updateEntityStatus
(String userId, String entityGUID, InstanceStatus newStatus) Update the status for a specific entity.updateRelationshipProperties
(String userId, String relationshipGUID, InstanceProperties properties) Update the properties of a specific relationship.updateRelationshipStatus
(String userId, String relationshipGUID, InstanceStatus newStatus) Update the status of a specific relationship.Methods inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSDynamicTypeMetadataCollectionBase
addAttributeTypeDef, addTypeDef, deleteAttributeTypeDef, deleteTypeDef, getHomeClassifications, reIdentifyAttributeTypeDef, reIdentifyTypeDef, updateTypeDef, verifyAttributeTypeDef, verifyTypeDef
Methods inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollectionBase
addEntityParameterValidation, addEntityParameterValidation, addEntityProxyParameterValidation, addExternalEntityParameterValidation, addExternalRelationshipParameterValidation, addRelationshipParameterValidation, addRelationshipParameterValidation, addTypeDefGallery, attributeTypeDefCategoryParameterValidation, attributeTypeDefParameterValidation, classifyEntityParameterValidation, classifyEntityParameterValidation, classifyEntityParameterValidation, declassifyEntityParameterValidation, declassifyEntityParameterValidation, declassifyEntityParameterValidation, deleteEntityReferenceCopy, deleteRelationshipReferenceCopy, filterAttributeTypeDefsByCategory, filterAttributeTypeDefsByGUID, filterAttributeTypeDefsByName, filterTypeDefsByCategory, filterTypeDefsByGUID, filterTypeDefsByName, filterTypeDefsByProperty, filterTypeDefsBySearchCriteria, filterTypesByExternalID, filterTypesByWildCardName, findAttributeTypeDefsByCategory, findEntitiesByClassificationParameterValidation, findEntitiesByPropertyParameterValidation, findEntitiesByPropertyValueParameterValidation, findEntitiesParameterValidation, findRelationshipsByPropertyParameterValidation, findRelationshipsByPropertyValueParameterValidation, findRelationshipsParameterValidation, findTypeDefsByCategory, findTypeDefsByProperty, findTypesByExternalID, findTypesByName, getAllTypes, getAttributeTypeDefByGUID, getAttributeTypeDefByName, getEntityNeighborhood, getEntityNeighborhoodParameterValidation, getEntityProxy, getInstanceHistoryParameterValidation, getInstanceParameterValidation, getInstanceParameterValidation, getLinkingEntities, getLinkingEntitiesParameterValidation, getMetadataCollectionId, getRelatedEntities, getRelatedEntitiesParameterValidation, getRelationshipsForEntityParameterValidation, getTypeDefByGUID, getTypeDefByName, getTypeDefForInstance, manageAttributeTypeDefParameterValidation, manageInstanceParameterValidation, manageInstanceParameterValidation, manageInstanceParameterValidation, manageReferenceInstanceParameterValidation, manageTypeDefParameterValidation, newAttributeTypeDefParameterValidation, newTypeDefParameterValidation, purgeEntityReferenceCopy, purgeRelationshipReferenceCopy, referenceInstanceParameterValidation, refreshEntityReferenceCopy, refreshRelationshipReferenceCopy, reHomeInstanceParameterValidation, reIdentifyInstanceParameterValidation, removeInstanceParameterValidation, reportEntityNotKnown, reportEntityNotKnown, reportEntityProxyOnly, reportRelationshipNotKnown, reportTypeDefAlreadyDefined, reportTypeDefConflict, reportTypeDefInUse, reportTypeDefNotSupported, reportUnknownTypeGUID, reportUnknownTypeName, reportUnsupportedAsOfTimeFunction, reTypeInstanceParameterValidation, searchForTypeDefs, typeDefCategoryParameterValidation, typeDefExternalIDParameterValidation, typeDefParameterValidation, typeDefPropertyParameterValidation, typeDefSearchParameterValidation, typeGUIDParameterValidation, typeNameParameterValidation, updateEntityClassificationParameterValidation, updateEntityClassificationParameterValidation, updateInstancePropertiesPropertyValidation, updateInstanceStatusParameterValidation, updateTypeDefParameterValidation
Methods inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollection
basicRequestValidation, getConnectorComponentDescription, getMetadataCollectionId, reHomeEntity, reHomeRelationship, reportUnsupportedOptionalFunction, saveInstanceReferenceCopies, setAuditLog, validateRepositoryConnector
-
Constructor Details
-
PostgresOMRSMetadataCollection
protected PostgresOMRSMetadataCollection(PostgresOMRSRepositoryConnector parentConnector, String repositoryName, OMRSRepositoryHelper repositoryHelper, OMRSRepositoryValidator repositoryValidator, boolean isReadOnly, Date defaultAsOfTime, JDBCResourceConnector jdbcResourceConnector, String metadataCollectionId) Constructor ensures the metadata collection is linked to its connector and knows its metadata collection id.- Parameters:
parentConnector
- connector that this metadata collection supports. The connector has the information to call the metadata repository.repositoryName
- name of the repository - used for logging.repositoryHelper
- class used to build type definitions and instances.repositoryValidator
- class used to validate type definitions and instances.isReadOnly
- should the repository run in readOnly mode?defaultAsOfTime
- what is the default value for asOfTime?jdbcResourceConnector
- connector to access the databasemetadataCollectionId
- unique Identifier of the metadata collection id.
-
-
Method Details
-
isEntityKnown
public EntityDetail isEntityKnown(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, UserNotAuthorizedException Returns a boolean indicating if the entity is stored in the metadata collection. Notice that entities in DELETED state are returned by this call.- Overrides:
isEntityKnown
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the entity.- Returns:
- entity details if the entity is found in the metadata collection; otherwise return null.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getEntitySummary
public EntitySummary getEntitySummary(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException Return the header and classifications for a specific entity.- Overrides:
getEntitySummary
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the entity.- Returns:
- EntitySummary structure
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the requested entity instance is not known in the metadata collection.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getEntityDetail
public EntityDetail getEntityDetail(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, EntityProxyOnlyException, UserNotAuthorizedException Return the header, classifications and properties of a specific entity.- Overrides:
getEntityDetail
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the entity.- Returns:
- EntityDetail structure.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the requested entity instance is not known in the metadata collection.EntityProxyOnlyException
- the requested entity instance is only a proxy in the metadata collection.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getEntityDetail
public EntityDetail getEntityDetail(String userId, String guid, Date asOfTime) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, EntityProxyOnlyException, UserNotAuthorizedException Return a historical version of an entity - includes the header, classifications and properties of the entity.- Overrides:
getEntityDetail
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the entity.asOfTime
- the time used to determine which version of the entity that is desired.- Returns:
- EntityDetail structure.
- Throws:
InvalidParameterException
- the guid or date is null or date is for a future time.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the requested entity instance is not known in the metadata collection at the time requested.EntityProxyOnlyException
- the requested entity instance is only a proxy in the metadata collection.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getRelationshipsForEntity
public List<Relationship> getRelationshipsForEntity(String userId, String entityGUID, String relationshipTypeGUID, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, EntityNotKnownException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Return the relationships for a specific entity.- Overrides:
getRelationshipsForEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier for the entity.relationshipTypeGUID
- String GUID of the type of relationship required (null for all).fromRelationshipElement
- the starting element number of the relationships to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, relationships in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.asOfTime
- Requests a historical query of the relationships for the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- -- the maximum number of result classifications that can be returned on this request. Zero means unrestricted return results size.- Returns:
- Relationships list. Null means no relationships associated with the entity.
- Throws:
InvalidParameterException
- a parameter is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the requested entity instance is not known in the metadata collection.PropertyErrorException
- the sequencing property is not valid for the attached classifications.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findEntitiesByProperty
public List<EntityDetail> findEntitiesByProperty(String userId, String entityTypeGUID, InstanceProperties matchProperties, MatchCriteria matchCriteria, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Return a list of entities that match the supplied properties according to the match criteria. The results can be returned over many pages.- Overrides:
findEntitiesByProperty
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityTypeGUID
- String unique identifier for the entity type of interest (null means any entity type).matchProperties
- Optional list of entity properties to match (where any String property's value should be defined as a Java regular expression, even if it should be an exact match).matchCriteria
- Enum defining how the match properties should be matched to the entities in the repository.fromEntityElement
- the starting element number of the entities to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, entities in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.limitResultsByClassification
- List of classifications that must be present on all returned entities.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the entity property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result entities that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of entities matching the supplied criteria; null means no matching entities in the metadata collection.
- Throws:
InvalidParameterException
- a parameter is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- the properties specified are not valid for any of the requested types of entity.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
findEntities
public List<EntityDetail> findEntities(String userId, String entityTypeGUID, List<String> entitySubtypeGUIDs, SearchProperties matchProperties, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, SearchClassifications matchClassifications, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Return a list of entities that match the supplied criteria. The results can be returned over many pages.- Overrides:
findEntities
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityTypeGUID
- String unique identifier for the entity type of interest (null means any entity type).entitySubtypeGUIDs
- optional list of the unique identifiers (guids) for subtypes of the entityTypeGUID to include in the search results. Null means all subtypes.matchProperties
- Optional list of entity property conditions to match.fromEntityElement
- the starting element number of the entities to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, entities in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.matchClassifications
- Optional list of entity classifications to match.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the entity property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result entities that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of entities matching the supplied criteria; null means no matching entities in the metadata collection.
- Throws:
InvalidParameterException
- a parameter is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- the properties specified are not valid for any of the requested types of entity.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findEntitiesByClassification
public List<EntityDetail> findEntitiesByClassification(String userId, String entityTypeGUID, String classificationName, InstanceProperties matchClassificationProperties, MatchCriteria matchCriteria, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, ClassificationErrorException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Return a list of entities that have the requested type of classifications attached.- Overrides:
findEntitiesByClassification
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityTypeGUID
- unique identifier for the type of entity requested. Null means any type of entity (but could be slow so not recommended).classificationName
- name of the classification, note a null is not valid.matchClassificationProperties
- list of classification properties used to narrow the search (where any String property's value should be defined as a Java regular expression, even if it should be an exact match).matchCriteria
- Enum defining how the match properties should be matched to the classifications in the repository.fromEntityElement
- the starting element number of the entities to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, entities in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the entity property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result entities that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of entities matching the supplied criteria; null means no matching entities in the metadata collection.
- Throws:
InvalidParameterException
- a parameter is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.ClassificationErrorException
- the classification request is not known to the metadata collection.PropertyErrorException
- the properties specified are not valid for the requested type of classification.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
findEntitiesByPropertyValue
public List<EntityDetail> findEntitiesByPropertyValue(String userId, String entityTypeGUID, String searchCriteria, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Return a list of entities whose string based property values match the search criteria. The search criteria may include regex style wild cards.- Overrides:
findEntitiesByPropertyValue
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityTypeGUID
- GUID of the type of entity to search for. Null means all types will be searched (could be slow so not recommended).searchCriteria
- String Java regular expression used to match against any of the String property values within entity instances of the specified type(s). This parameter must not be null.fromEntityElement
- the starting element number of the entities to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, entities in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.limitResultsByClassification
- List of classifications that must be present on all returned entities.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result entities that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of entities matching the supplied criteria - null means no matching entities in the metadata collection.
- Throws:
InvalidParameterException
- a parameter is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- the sequencing property specified is not valid for any of the requested types of entity.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
isRelationshipKnown
public Relationship isRelationshipKnown(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, UserNotAuthorizedException Returns a relationship indicating if the relationship is stored in the metadata collection. Notice that relationships in DELETED state are returned by this call.- Overrides:
isRelationshipKnown
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the relationship.- Returns:
- relationship details if the relationship is found in the metadata collection; otherwise return null.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getRelationship
public Relationship getRelationship(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException Return a requested relationship.- Overrides:
getRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the relationship.- Returns:
- a relationship structure.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the metadata collection does not have a relationship with the requested GUID stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getRelationship
public Relationship getRelationship(String userId, String guid, Date asOfTime) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException Return a historical version of a relationship.- Overrides:
getRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the relationship.asOfTime
- the time used to determine which version of the entity that is desired.- Returns:
- Relationship structure.
- Throws:
InvalidParameterException
- the guid or date is null or data is for a future timeRepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested entity instance is not known in the metadata collection at the time requested.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getRelationshipHistory
public List<Relationship> getRelationshipHistory(String userId, String guid, Date fromTime, Date toTime, int startFromElement, int pageSize, HistorySequencingOrder sequencingOrder) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, FunctionNotSupportedException, UserNotAuthorizedException Return all historical versions of a relationship within the bounds of the provided timestamps. To retrieve all historical versions of a relationship, set both the 'fromTime' and 'toTime' to null.- Overrides:
getRelationshipHistory
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the entity.fromTime
- the earliest point in time from which to retrieve historical versions of the entity (inclusive)toTime
- the latest point in time from which to retrieve historical versions of the entity (exclusive)startFromElement
- the starting element number of the historical versions to return. This is used when retrieving versions beyond the first page of results. Zero means start from the first element.pageSize
- the maximum number of result versions that can be returned on this request. Zero means unrestricted return results size.sequencingOrder
- Enum defining how the results should be ordered.- Returns:
List<Relationship>
of each historical version of the relationship within the bounds, and in the order requested.- Throws:
InvalidParameterException
- the guid or date is null or fromTime is after the toTimeRepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship instance is not known in the metadata collection at the time requested.FunctionNotSupportedException
- the repository does not support history.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findRelationships
public List<Relationship> findRelationships(String userId, String relationshipTypeGUID, List<String> relationshipSubtypeGUIDs, SearchProperties matchProperties, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, PropertyErrorException, PagingErrorException, FunctionNotSupportedException, UserNotAuthorizedException Return a list of relationships that match the requested conditions. The results can be received as a series of pages.- Overrides:
findRelationships
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipTypeGUID
- unique identifier (guid) for the relationship's type. Null means all types (but may be slow so not recommended).relationshipSubtypeGUIDs
- optional list of the unique identifiers (guids) for subtypes of the relationshipTypeGUID to include in the search results. Null means all subtypes.matchProperties
- Optional list of relationship property conditions to match.fromRelationshipElement
- the starting element number of the entities to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, relationships in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.asOfTime
- Requests a historical query of the relationships for the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result relationships that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- the properties specified are not valid for any of the requested types of relationships.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.FunctionNotSupportedException
- the repository does not support one of the provided parameters.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
findRelationshipsByProperty
public List<Relationship> findRelationshipsByProperty(String userId, String relationshipTypeGUID, InstanceProperties matchProperties, MatchCriteria matchCriteria, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, PropertyErrorException, PagingErrorException, FunctionNotSupportedException, UserNotAuthorizedException Return a list of relationships that match the requested properties by the matching criteria. The results can be received as a series of pages.- Overrides:
findRelationshipsByProperty
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipTypeGUID
- unique identifier (guid) for the new relationship's type. Null means all types (but may be slow so not recommended).matchProperties
- Optional list of relationship properties to match (where any String property's value should be defined as a Java regular expression, even if it should be an exact match).matchCriteria
- Enum defining how the properties should be matched to the relationships in the repository.fromRelationshipElement
- the starting element number of the entities to return. This is used when retrieving elements beyond the first page of results. Zero means start from the first element.limitResultsByStatus
- By default, relationships in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.asOfTime
- Requests a historical query of the relationships for the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result relationships that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- the properties specified are not valid for any of the requested types of relationships.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.FunctionNotSupportedException
- the repository does not support one of the provided parameters.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
findRelationshipsByPropertyValue
public List<Relationship> findRelationshipsByPropertyValue(String userId, String relationshipTypeGUID, String searchCriteria, int fromRelationshipElement, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Return a list of relationships whose string based property values match the search criteria. The search criteria may include regex style wild cards.- Overrides:
findRelationshipsByPropertyValue
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipTypeGUID
- GUID of the type of entity to search for. Null means all types will be searched (could be slow so not recommended).searchCriteria
- String Java regular expression used to match against any of the String property values within the relationship instances of the specified type(s). This parameter must not be null.fromRelationshipElement
- Element number of the results to skip to when building the results list to return. Zero means begin at the start of the results. This is used to retrieve the results over a number of pages.limitResultsByStatus
- By default, relationships in all non-DELETED statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values except DELETED.asOfTime
- Requests a historical query of the relationships for the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.pageSize
- the maximum number of result relationships that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- there is a problem with one of the other parameters.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
addEntity
public EntityDetail addEntity(String userId, String entityTypeGUID, InstanceProperties initialProperties, List<Classification> initialClassifications, InstanceStatus initialStatus) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, ClassificationErrorException, StatusNotSupportedException, UserNotAuthorizedException, FunctionNotSupportedException Create a new entity and put it in the requested state. The new entity is returned.- Overrides:
addEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityTypeGUID
- unique identifier (guid) for the new entity's type.initialProperties
- initial list of properties for the new entity - null means no properties.initialClassifications
- initial list of classifications for the new entity - null means no classifications.initialStatus
- initial status - typically DRAFT, PREPARED or ACTIVE.- Returns:
- EntityDetail showing the new header plus the requested properties and classifications. The entity will not have any relationships at this stage.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this entity's type.ClassificationErrorException
- one or more of the requested classifications are either not known or not defined for this entity type.StatusNotSupportedException
- the metadata repository hosting the metadata collection does not support the requested status.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
addExternalEntity
public EntityDetail addExternalEntity(String userId, String entityTypeGUID, String externalSourceGUID, String externalSourceName, InstanceProperties initialProperties, List<Classification> initialClassifications, InstanceStatus initialStatus) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, ClassificationErrorException, StatusNotSupportedException, UserNotAuthorizedException, FunctionNotSupportedException Save a new entity that is sourced from an external technology. The external technology is identified by a GUID and a name. These can be recorded in a Software Server Capability (guid and qualifiedName respectively). The new entity is assigned a new GUID and put in the requested state. The new entity is returned.- Overrides:
addExternalEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityTypeGUID
- unique identifier (guid) for the new entity's type.externalSourceGUID
- unique identifier (guid) for the external source.externalSourceName
- unique name for the external source.initialProperties
- initial list of properties for the new entity; null means no properties.initialClassifications
- initial list of classifications for the new entity null means no classifications.initialStatus
- initial status typically DRAFT, PREPARED or ACTIVE.- Returns:
- EntityDetail showing the new header plus the requested properties and classifications. The entity will not have any relationships at this stage.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this entity's type.ClassificationErrorException
- one or more of the requested classifications are either not known or not defined for this entity type.StatusNotSupportedException
- the metadata repository hosting the metadata collection does not support the requested status.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
addEntityProxy
public void addEntityProxy(String userId, EntityProxy entityProxy) throws InvalidParameterException, RepositoryErrorException, UserNotAuthorizedException, FunctionNotSupportedException Create an entity proxy in the metadata collection. This is used to store relationships that span metadata repositories.- Overrides:
addEntityProxy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- details of entity to add.- Throws:
InvalidParameterException
- the entity proxy is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
updateEntityStatus
public EntityDetail updateEntityStatus(String userId, String entityGUID, InstanceStatus newStatus) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, StatusNotSupportedException, UserNotAuthorizedException, FunctionNotSupportedException Update the status for a specific entity.- Overrides:
updateEntityStatus
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- unique identifier (guid) for the requested entity.newStatus
- new InstanceStatus for the entity.- Returns:
- EntityDetail showing the current entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.StatusNotSupportedException
- invalid status for instance.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
updateEntityProperties
public EntityDetail updateEntityProperties(String userId, String entityGUID, InstanceProperties properties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Update selected properties in an entity.- Overrides:
updateEntityProperties
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier (guid) for the entity.properties
- a list of properties to change.- Returns:
- EntityDetail showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionPropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this entity's typeFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
undoEntityUpdate
public EntityDetail undoEntityUpdate(String userId, String entityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Undo the last update to an entity and return the previous content.- Overrides:
undoEntityUpdate
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier (guid) for the entity.- Returns:
- EntityDetail showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.UserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support maintenance of metadata.
-
deleteEntity
public EntityDetail deleteEntity(String userId, String typeDefGUID, String typeDefName, String obsoleteEntityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Delete an entity. The entity is soft-deleted. This means it is still in the graph, but it is no longer returned on queries. All homed relationships to the entity are also soft-deleted and will no longer be usable, while any reference copy relationships to the entity will be purged (and will no longer be accessible in this repository). To completely eliminate the entity from the graph requires a call to the purgeEntity() method after the delete() call. The restoreEntity() method will switch an entity back to Active status to restore the entity to normal use; however, this will not restore any of the relationships that were soft-deleted as part of the original deleteEntity() call.- Overrides:
deleteEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDefGUID
- unique identifier of the type of the entity to delete.typeDefName
- unique name of the type of the entity to delete.obsoleteEntityGUID
- String unique identifier (guid) for the entity.- Returns:
- deleted entity
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
purgeEntity
public void purgeEntity(String userId, String typeDefGUID, String typeDefName, String deletedEntityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, EntityNotDeletedException, UserNotAuthorizedException, FunctionNotSupportedException Permanently removes a deleted entity from the metadata collection. All relationships to the entity -- both homed and reference copies -- will also be purged to maintain referential integrity within the repository. This request can not be undone.- Overrides:
purgeEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDefGUID
- unique identifier of the type of the entity to purge.typeDefName
- unique name of the type of the entity to purge.deletedEntityGUID
- String unique identifier (guid) for the entity.- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionEntityNotDeletedException
- the entity is not in DELETED status and so can not be purgedFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
restoreEntity
public EntityDetail restoreEntity(String userId, String deletedEntityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, EntityNotDeletedException, UserNotAuthorizedException, FunctionNotSupportedException Restore the requested entity to the state it was before it was deleted.- Overrides:
restoreEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.deletedEntityGUID
- String unique identifier (guid) for the entity.- Returns:
- EntityDetail showing the restored entity header, properties and classifications.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionEntityNotDeletedException
- the entity is currently not in DELETED status and so it can not be restoredFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
classifyEntity
public EntityDetail classifyEntity(String userId, String entityGUID, String classificationName, InstanceProperties classificationProperties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Add the requested classification to a specific entity.- Overrides:
classifyEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier (guid) for the entity.classificationName
- String name for the classification.classificationProperties
- list of properties to set in the classification.- Returns:
- EntityDetail showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is either not known or not valid for the entity.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification typeFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
classifyEntity
public Classification classifyEntity(String userId, EntityProxy entityProxy, String classificationName, InstanceProperties classificationProperties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Add the requested classification to a specific entity.- Overrides:
classifyEntity
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- identifier (proxy) for the entity.classificationName
- String name for the classification.classificationProperties
- list of properties to set in the classification.- Returns:
- Classification showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is either not known or not valid for the entity.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification typeFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
classifyEntity
public EntityDetail classifyEntity(String userId, String entityGUID, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties classificationProperties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Add the requested classification to a specific entity.- Overrides:
classifyEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier (guid) for the entity.classificationName
- String name for the classification.externalSourceGUID
- unique identifier (guid) for the external source.externalSourceName
- unique name for the external source.classificationOrigin
- source of the classificationclassificationOriginGUID
- if the classification is propagated, this is the unique identifier of the entity whereclassificationProperties
- list of properties to set in the classification.- Returns:
- EntitySummary showing the resulting entity header and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is either not known or not valid for the entity.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification typeUserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support maintenance of metadata.
-
classifyEntity
public Classification classifyEntity(String userId, EntityProxy entityProxy, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties classificationProperties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Add the requested classification to a specific entity.- Overrides:
classifyEntity
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- identifier (proxy) for the entity.classificationName
- String name for the classification.externalSourceGUID
- unique identifier (guid) for the external source.externalSourceName
- unique name for the external source.classificationOrigin
- source of the classificationclassificationOriginGUID
- if the classification is propagated, this is the unique identifier of the entity whereclassificationProperties
- list of properties to set in the classification.- Returns:
- Classification showing the resulting entity header and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is either not known or not valid for the entity.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification typeUserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support maintenance of metadata.
-
declassifyEntity
public EntityDetail declassifyEntity(String userId, String entityGUID, String classificationName) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, UserNotAuthorizedException, FunctionNotSupportedException Remove a specific classification from an entity.- Overrides:
declassifyEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier (guid) for the entity.classificationName
- String name for the classification.- Returns:
- EntityDetail showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is not set on the entity.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
declassifyEntity
public Classification declassifyEntity(String userId, EntityProxy entityProxy, String classificationName) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, UserNotAuthorizedException, FunctionNotSupportedException Remove a specific classification from an entity.- Overrides:
declassifyEntity
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- identifier (proxy) for the entity.classificationName
- String name for the classification.- Returns:
- Classification that has been removed.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is not set on the entity.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
updateEntityClassification
public EntityDetail updateEntityClassification(String userId, String entityGUID, String classificationName, InstanceProperties properties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Update one or more properties in one of an entity's classifications.- Overrides:
updateEntityClassification
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- String unique identifier (guid) for the entity.classificationName
- String name for the classification.properties
- list of properties for the classification.- Returns:
- EntityDetail showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is not attached to the classification.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification typeFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
updateEntityClassification
public Classification updateEntityClassification(String userId, EntityProxy entityProxy, String classificationName, InstanceProperties properties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Update one or more properties in one of an entity's classifications.- Overrides:
updateEntityClassification
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- identifier (proxy) for the entity.classificationName
- String name for the classification.properties
- list of properties for the classification.- Returns:
- Classification showing the resulting entity header, properties and classifications.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collectionClassificationErrorException
- the requested classification is not attached to the classification.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification typeFunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getEntityDetailHistory
public List<EntityDetail> getEntityDetailHistory(String userId, String guid, Date fromTime, Date toTime, int startFromElement, int pageSize, HistorySequencingOrder sequencingOrder) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, EntityProxyOnlyException, FunctionNotSupportedException, UserNotAuthorizedException Return all historical versions of an entity within the bounds of the provided timestamps. To retrieve all historical versions of an entity, set both the 'fromTime' and 'toTime' to null.- Overrides:
getEntityDetailHistory
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique identifier for the entity.fromTime
- the earliest point in time from which to retrieve historical versions of the entity (inclusive)toTime
- the latest point in time from which to retrieve historical versions of the entity (exclusive)startFromElement
- the starting element number of the historical versions to return. This is used when retrieving versions beyond the first page of results. Zero means start from the first element.pageSize
- the maximum number of result versions that can be returned on this request. Zero means unrestricted return results size.sequencingOrder
- Enum defining how the results should be ordered.- Returns:
List<EntityDetail>
of each historical version of the entity detail within the bounds, and in the order requested.- Throws:
InvalidParameterException
- the guid or date is null or fromTime is after the toTimeRepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the requested entity instance is not known in the metadata collection at the time requested.EntityProxyOnlyException
- the requested entity instance is only a proxy in the metadata collection.FunctionNotSupportedException
- the repository does not support history.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
addRelationship
public Relationship addRelationship(String userId, String relationshipTypeGUID, InstanceProperties initialProperties, String entityOneGUID, String entityTwoGUID, InstanceStatus initialStatus) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, EntityNotKnownException, StatusNotSupportedException, UserNotAuthorizedException, FunctionNotSupportedException Add a new relationship between two entities to the metadata collection.- Overrides:
addRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipTypeGUID
- unique identifier (guid) for the new relationship's type.initialProperties
- initial list of properties for the new entity - null means no properties.entityOneGUID
- the unique identifier of one of the entities that the relationship is connecting together.entityTwoGUID
- the unique identifier of the other entity that the relationship is connecting together.initialStatus
- initial status - typically DRAFT, PREPARED or ACTIVE.- Returns:
- Relationship structure with the new header, requested entities and properties.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this relationship's type.EntityNotKnownException
- one of the requested entities is not known in the metadata collection.StatusNotSupportedException
- the metadata repository hosting the metadata collection does not support the requested status.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
addExternalRelationship
public Relationship addExternalRelationship(String userId, String relationshipTypeGUID, String externalSourceGUID, String externalSourceName, InstanceProperties initialProperties, String entityOneGUID, String entityTwoGUID, InstanceStatus initialStatus) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, EntityNotKnownException, StatusNotSupportedException, UserNotAuthorizedException, FunctionNotSupportedException Save a new relationship that is sourced from an external technology. The external technology is identified by a GUID and a name. These can be recorded in a Software Server Capability (guid and qualifiedName respectively). The new relationship is assigned a new GUID and put in the requested state. The new relationship is returned.- Overrides:
addExternalRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipTypeGUID
- unique identifier (guid) for the new relationship's type.externalSourceGUID
- unique identifier (guid) for the external source.externalSourceName
- unique name for the external source.initialProperties
- initial list of properties for the new entity; null means no properties.entityOneGUID
- the unique identifier of one of the entities that the relationship is connecting together.entityTwoGUID
- the unique identifier of the other entity that the relationship is connecting together.initialStatus
- initial status; typically DRAFT, PREPARED or ACTIVE.- Returns:
- Relationship structure with the new header, requested entities and properties.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this relationship's type.EntityNotKnownException
- one of the requested entities is not known in the metadata collection.StatusNotSupportedException
- the metadata repository hosting the metadata collection does not support the requested status.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
updateRelationshipStatus
public Relationship updateRelationshipStatus(String userId, String relationshipGUID, InstanceStatus newStatus) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, StatusNotSupportedException, UserNotAuthorizedException, FunctionNotSupportedException Update the status of a specific relationship.- Overrides:
updateRelationshipStatus
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipGUID
- String unique identifier (guid) for the relationship.newStatus
- new InstanceStatus for the relationship.- Returns:
- Resulting relationship structure with the new status set.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship is not known in the metadata collection.StatusNotSupportedException
- invalid status for instance.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
updateRelationshipProperties
public Relationship updateRelationshipProperties(String userId, String relationshipGUID, InstanceProperties properties) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Update the properties of a specific relationship.- Overrides:
updateRelationshipProperties
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipGUID
- String unique identifier (guid) for the relationship.properties
- list of the properties to update.- Returns:
- Resulting relationship structure with the new properties set.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship is not known in the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this relationship's type.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
undoRelationshipUpdate
public Relationship undoRelationshipUpdate(String userId, String relationshipGUID) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Undo the latest change to a relationship (either a change of properties or status).- Overrides:
undoRelationshipUpdate
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipGUID
- String unique identifier (guid) for the relationship.- Returns:
- Relationship structure with the new current header, requested entities and properties.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship is not known in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
deleteRelationship
public Relationship deleteRelationship(String userId, String typeDefGUID, String typeDefName, String obsoleteRelationshipGUID) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Delete a specific relationship. This is a soft-delete which means the relationship's status is updated to DELETED and, it is no longer available for queries. To remove the relationship permanently from the metadata collection, use purgeRelationship().- Overrides:
deleteRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDefGUID
- unique identifier of the type of the relationship to delete.typeDefName
- unique name of the type of the relationship to delete.obsoleteRelationshipGUID
- String unique identifier (guid) for the relationship.- Returns:
- deleted relationship
- Throws:
InvalidParameterException
- one of the parameters is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship is not known in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
purgeRelationship
public void purgeRelationship(String userId, String typeDefGUID, String typeDefName, String deletedRelationshipGUID) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, RelationshipNotDeletedException, UserNotAuthorizedException, FunctionNotSupportedException Permanently delete the relationship from the repository. There is no means to undo this request.- Overrides:
purgeRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDefGUID
- unique identifier of the type of the relationship to purge.typeDefName
- unique name of the type of the relationship to purge.deletedRelationshipGUID
- String unique identifier (guid) for the relationship.- Throws:
InvalidParameterException
- one of the parameters is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship is not known in the metadata collection.RelationshipNotDeletedException
- the requested relationship is not in DELETED status.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
restoreRelationship
public Relationship restoreRelationship(String userId, String deletedRelationshipGUID) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, RelationshipNotDeletedException, UserNotAuthorizedException, FunctionNotSupportedException Restore a deleted relationship into the metadata collection. The new status will be ACTIVE and the restored details of the relationship are returned to the caller.- Overrides:
restoreRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.deletedRelationshipGUID
- String unique identifier (guid) for the relationship.- Returns:
- Relationship structure with the restored header, requested entities and properties.
- Throws:
InvalidParameterException
- the guid is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the requested relationship is not known in the metadata collection.RelationshipNotDeletedException
- the requested relationship is not in DELETED status.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
reIdentifyEntity
public EntityDetail reIdentifyEntity(String userId, String typeDefGUID, String typeDefName, String entityGUID, String newEntityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Change the guid of an existing entity to a new value. This is used if two different entities are discovered to have the same guid. This is extremely unlikely but not impossible so the open metadata protocol has provision for this.- Overrides:
reIdentifyEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDefGUID
- the guid of the TypeDef for the entity - used to verify the entity identity.typeDefName
- the name of the TypeDef for the entity - used to verify the entity identity.entityGUID
- the existing identifier for the entity.newEntityGUID
- new unique identifier for the entity.- Returns:
- entity - new values for this entity, including the new guid.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
reTypeEntity
public EntityDetail reTypeEntity(String userId, String entityGUID, TypeDefSummary currentTypeDefSummary, TypeDefSummary newTypeDefSummary) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, ClassificationErrorException, EntityNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Change the type of existing entity. Typically, this action is taken to move an entity's type to either a super type (so the subtype can be deleted) or a new subtype (so additional properties can be added.) However, the type can be changed to any compatible type and the properties adjusted.- Overrides:
reTypeEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- the unique identifier for the entity to change.currentTypeDefSummary
- the current details of the TypeDef for the entity - used to verify the entity identitynewTypeDefSummary
- details of this entity's new TypeDef.- Returns:
- entity - new values for this entity, including the new type information.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- The properties in the instance are incompatible with the requested type.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.ClassificationErrorException
- the entity's classifications are not valid for the new type.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
reHomeEntity
public EntityDetail reHomeEntity(String userId, String entityGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Change the home of an existing entity. This action is taken for example, if the original home repository becomes permanently unavailable, or if the user community updating this entity move to working from a different repository in the open metadata repository cohort.- Overrides:
reHomeEntity
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- the unique identifier for the entity to change.typeDefGUID
- the guid of the TypeDef for the entity - used to verify the entity identity.typeDefName
- the name of the TypeDef for the entity - used to verify the entity identity.homeMetadataCollectionId
- the existing identifier for this entity's home.newHomeMetadataCollectionId
- unique identifier for the new home metadata collection/repository.newHomeMetadataCollectionName
- display name for the new home metadata collection/repository.- Returns:
- entity - new values for this entity, including the new home information.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
reIdentifyRelationship
public Relationship reIdentifyRelationship(String userId, String typeDefGUID, String typeDefName, String relationshipGUID, String newRelationshipGUID) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Change the guid of an existing relationship. This is used if two different relationships are discovered to have the same guid. This is extremely unlikely but not impossible so the open metadata protocol has provision for this.- Overrides:
reIdentifyRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDefGUID
- the guid of the TypeDef for the relationship - used to verify the relationship identity.typeDefName
- the name of the TypeDef for the relationship - used to verify the relationship identity.relationshipGUID
- the existing identifier for the relationship.newRelationshipGUID
- the new unique identifier for the relationship.- Returns:
- relationship - new values for this relationship, including the new guid.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the relationship identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
reTypeRelationship
public Relationship reTypeRelationship(String userId, String relationshipGUID, TypeDefSummary currentTypeDefSummary, TypeDefSummary newTypeDefSummary) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, RelationshipNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Change the type an existing relationship. Typically, this action is taken to move a relationship's type to either a super type (so the subtype can be deleted) or a new subtype (so additional properties can be added.) However, the type can be changed to any compatible type.- Overrides:
reTypeRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipGUID
- the unique identifier for the relationship.currentTypeDefSummary
- the details of the TypeDef for the relationship - used to verify the relationship identity.newTypeDefSummary
- details of this relationship's new TypeDef.- Returns:
- relationship - new values for this relationship, including the new type information.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.PropertyErrorException
- The properties in the instance are incompatible with the requested type.RelationshipNotKnownException
- the relationship identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
reHomeRelationship
public Relationship reHomeRelationship(String userId, String relationshipGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Change the home of an existing relationship. This action is taken for example, if the original home repository becomes permanently unavailable, or if the user community updating this relationship move to working from a different repository in the open metadata repository cohort.- Overrides:
reHomeRelationship
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.relationshipGUID
- the unique identifier for the relationship.typeDefGUID
- the guid of the TypeDef for the relationship - used to verify the relationship identity.typeDefName
- the name of the TypeDef for the relationship - used to verify the relationship identity.homeMetadataCollectionId
- the existing identifier for this relationship's home.newHomeMetadataCollectionId
- unique identifier for the new home metadata collection/repository.newHomeMetadataCollectionName
- display name for the new home metadata collection/repository.- Returns:
- relationship - new values for this relationship, including the new home information.
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the relationship identified by the guid is not found in the metadata collection.FunctionNotSupportedException
- the repository does not support maintenance of metadata.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
saveEntityReferenceCopy
public void saveEntityReferenceCopy(String userId, EntityDetail entity) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, HomeEntityException, EntityConflictException, InvalidEntityException, UserNotAuthorizedException Save the entity as a reference copy. The id of the home metadata collection is already set up in the entity.- Overrides:
saveEntityReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting server.entity
- details of the entity to save.- Throws:
InvalidParameterException
- the entity is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this entity's type.HomeEntityException
- the entity belongs to the local repository so creating a reference copy would be invalid.EntityConflictException
- the new entity conflicts with an existing entity.InvalidEntityException
- the new entity has invalid contents.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getHomeClassifications
public List<Classification> getHomeClassifications(String userId, String entityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException, FunctionNotSupportedException Retrieve any locally homed classifications assigned to the requested entity. This method is implemented by repository connectors that are able to store classifications for entities that are homed in another repository.- Overrides:
getHomeClassifications
in classOMRSDynamicTypeMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- unique identifier of the entity with classifications to retrieve- Returns:
- list of all the classifications for this entity that are homed in this repository
- Throws:
InvalidParameterException
- the entity is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity is not recognized by this repositoryUserNotAuthorizedException
- to calling user is not authorized to retrieve this metadataFunctionNotSupportedException
- this method is not supported
-
purgeEntityReferenceCopy
public void purgeEntityReferenceCopy(String userId, String entityGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, HomeEntityException, UserNotAuthorizedException Remove a reference copy of the entity from the local repository. This method can be used to remove reference copies from the local cohort, repositories that have left the cohort, or entities that have come from open metadata archives.- Overrides:
purgeEntityReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting server.entityGUID
- the unique identifier for the entity.typeDefGUID
- the guid of the TypeDef for the relationship - used to verify the relationship identity.typeDefName
- the name of the TypeDef for the relationship - used to verify the relationship identity.homeMetadataCollectionId
- identifier of the metadata collection that is the home to this entity.- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.EntityNotKnownException
- the entity identified by the guid is not found in the metadata collection.HomeEntityException
- the entity belongs to the local repository so creating a reference copy would be invalid.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
saveClassificationReferenceCopy
public void saveClassificationReferenceCopy(String userId, EntityDetail entity, Classification classification) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException Save the classification as a reference copy. The id of the home metadata collection is already set up in the classification. The entity may be either a locally homed entity or a reference copy.- Overrides:
saveClassificationReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entity
- entity that the classification is attached to.classification
- classification to save.- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.
-
saveClassificationReferenceCopy
public void saveClassificationReferenceCopy(String userId, EntityProxy entityProxy, Classification classification) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException Save the classification as a reference copy. The id of the home metadata collection is already set up in the classification. The entity may be either a locally homed entity or a reference copy.- Overrides:
saveClassificationReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- entity that the classification is attached to.classification
- classification to save.- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.
-
purgeClassificationReferenceCopy
public void purgeClassificationReferenceCopy(String userId, EntityDetail entity, Classification classification) throws TypeErrorException, RepositoryErrorException Remove the reference copy of the classification from the local repository. This method can be used to remove reference copies from the local cohort, repositories that have left the cohort, or relationships that have come from open metadata archives.- Overrides:
purgeClassificationReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entity
- entity that the classification is attached to.classification
- classification to purge.- Throws:
RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.
-
purgeClassificationReferenceCopy
public void purgeClassificationReferenceCopy(String userId, EntityProxy entityProxy, Classification classification) throws InvalidParameterException, TypeErrorException, PropertyErrorException, EntityConflictException, InvalidEntityException, RepositoryErrorException, UserNotAuthorizedException, FunctionNotSupportedException Remove the reference copy of the classification from the local repository. This method can be used to remove reference copies from the local cohort, repositories that have left the cohort, or relationships that have come from open metadata archives.- Overrides:
purgeClassificationReferenceCopy
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- entity that the classification is attached to.classification
- classification to purge.- Throws:
InvalidParameterException
- one of the parameters is invalid or null.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.EntityConflictException
- the new entity conflicts with an existing entity.InvalidEntityException
- the new entity has invalid contents.UserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support maintenance of metadata.
-
saveRelationshipReferenceCopy
public void saveRelationshipReferenceCopy(String userId, Relationship relationship) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, EntityNotKnownException, PropertyErrorException, HomeRelationshipException, RelationshipConflictException, InvalidRelationshipException, UserNotAuthorizedException Save the relationship as a reference copy. The id of the home metadata collection is already set up in the relationship.- Overrides:
saveRelationshipReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting server.relationship
- relationship to save.- Throws:
InvalidParameterException
- the relationship is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the requested type is not known, or not supported in the metadata repository hosting the metadata collection.EntityNotKnownException
- one of the entities identified by the relationship is not found in the metadata collection.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this relationship's type.HomeRelationshipException
- the relationship belongs to the local repository so creating a reference copy would be invalid.RelationshipConflictException
- the new relationship conflicts with an existing relationship.InvalidRelationshipException
- the new relationship has invalid contents.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
purgeRelationshipReferenceCopy
public void purgeRelationshipReferenceCopy(String userId, String relationshipGUID, String typeDefGUID, String typeDefName, String homeMetadataCollectionId) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, HomeRelationshipException, UserNotAuthorizedException Remove the reference copy of the relationship from the local repository. This method can be used to remove reference copies from the local cohort, repositories that have left the cohort, or relationships that have come from open metadata archives.- Overrides:
purgeRelationshipReferenceCopy
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting server.relationshipGUID
- the unique identifier for the relationship.typeDefGUID
- the guid of the TypeDef for the relationship - used to verify the relationship identity.typeDefName
- the name of the TypeDef for the relationship - used to verify the relationship identity.homeMetadataCollectionId
- unique identifier for the home repository for this relationship.- Throws:
InvalidParameterException
- one of the parameters is invalid or null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.RelationshipNotKnownException
- the relationship identifier is not recognized.HomeRelationshipException
- the relationship belongs to the local repository so creating a reference copy would be invalid.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-