Class GraphOMRSMetadataCollection
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.graphrepository.repositoryconnector.GraphOMRSMetadataCollection
- All Implemented Interfaces:
AuditLoggingComponent
The GraphOMRSMetadataCollection provides a local open metadata repository that uses a graph store as its
persistence layer.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollection
auditLog, metadataCollectionId, metadataCollectionName, parentConnector, repositoryHelper, repositoryName, repositoryValidator
-
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.findEntitiesByPropertyIteratively
(List<String> validTypeNames, InstanceProperties matchProperties, MatchCriteria matchCriteria) 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.findEntitiesByPropertyValueForTypes
(List<String> validTypeNames, String filterTypeName, Map<String, TypeDefAttribute> qualifiedPropertyNameToTypeDefinedAttribute, Map<String, List<String>> shortPropertyNameToQualifiedPropertyNames, String searchCriteria) findEntitiesIteratively
(List<String> validTypeNames, SearchProperties searchProperties, MatchCriteria matchCriteria) 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.findRelationshipsByPropertyIteratively
(List<String> validTypeNames, InstanceProperties matchProperties, MatchCriteria matchCriteria) 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.findRelationshipsByPropertyValueForTypes
(List<String> validTypeNames, String filterTypeName, Map<String, TypeDefAttribute> qualifiedPropertyNameToTypeDefinedAttribute, Map<String, List<String>> shortPropertyNameToQualifiedPropertyNames, String searchCriteria) findRelationshipsForTypes
(List<String> validTypeNames, SearchProperties searchProperties, MatchCriteria matchCriteria) getEntityDetail
(String userId, String guid) Return the header, classifications and properties of a specific entity.getEntityNeighborhood
(String userId, String entityGUID, List<String> entityTypeGUIDs, List<String> relationshipTypeGUIDs, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, int level) Return the entities and relationships that radiate out from the supplied entity GUID.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.getLinkingEntities
(String userId, String startEntityGUID, String endEntityGUID, List<InstanceStatus> limitResultsByStatus, Date asOfTime) Return all the relationships and intermediate entities that connect the startEntity with the endEntity.getRelatedEntities
(String userId, String startEntityGUID, List<String> entityTypeGUIDs, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) Return the list of entities that are of the types listed in entityTypeGUIDs and are connected, either directly or indirectly to the entity identified by startEntityGUID.getRelationship
(String userId, String guid) Return a requested relationship.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 the entity if the entity is stored in the metadata collection, otherwise null.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
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 an existing entity's type.reTypeRelationship
(String userId, String relationshipGUID, TypeDefSummary currentTypeDefSummary, TypeDefSummary newTypeDefSummary) Change the existing relationship's type.void
saveClassificationReferenceCopy
(String userId, EntityDetail entity, Classification classification) Save the classification as a reference copy.void
saveClassificationReferenceCopy
(String userId, EntityProxy entity, 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.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.void
validateTypeGUID
(String sourceName, String guidParameterName, String guid, String methodName) boolean
verifyTypeDef
(String userId, TypeDef typeDef) Verify that a definition of a TypeDef is either new - or matches the definition already stored.Methods inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSDynamicTypeMetadataCollectionBase
addAttributeTypeDef, addTypeDef, deleteAttributeTypeDef, deleteTypeDef, getHomeClassifications, reIdentifyAttributeTypeDef, reIdentifyTypeDef, updateTypeDef, verifyAttributeTypeDef
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, getEntityDetail, getEntityDetailHistory, getEntityNeighborhoodParameterValidation, getEntityProxy, getInstanceHistoryParameterValidation, getInstanceParameterValidation, getInstanceParameterValidation, getLinkingEntitiesParameterValidation, getMetadataCollectionId, getRelatedEntitiesParameterValidation, getRelationship, getRelationshipHistory, 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, undoEntityUpdate, undoRelationshipUpdate, updateEntityClassificationParameterValidation, updateEntityClassificationParameterValidation, updateInstancePropertiesPropertyValidation, updateInstanceStatusParameterValidation, updateTypeDefParameterValidation
Methods inherited from class org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.OMRSMetadataCollection
basicRequestValidation, getConnectorComponentDescription, getMetadataCollectionId, purgeClassificationReferenceCopy, reHomeEntity, reHomeRelationship, reportUnsupportedOptionalFunction, saveInstanceReferenceCopies, setAuditLog, validateRepositoryConnector
-
Method Details
-
verifyTypeDef
public boolean verifyTypeDef(String userId, TypeDef typeDef) throws InvalidParameterException, RepositoryErrorException, TypeDefConflictException, InvalidTypeDefException, UserNotAuthorizedException Description copied from class:OMRSDynamicTypeMetadataCollectionBase
Verify that a definition of a TypeDef is either new - or matches the definition already stored.- Overrides:
verifyTypeDef
in classOMRSDynamicTypeMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.typeDef
- TypeDef structure describing the TypeDef to test.- Returns:
- boolean - true means the TypeDef matches the local definition - false means the TypeDef is not known.
- Throws:
InvalidParameterException
- the TypeDef is null.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeDefConflictException
- the new TypeDef conflicts with an existing TypeDef.InvalidTypeDefException
- the new TypeDef has invalid contents.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
addEntity
public EntityDetail addEntity(String userId, String entityTypeGUID, InstanceProperties initialProperties, List<Classification> initialClassifications, InstanceStatus initialStatus) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, ClassificationErrorException, StatusNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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 set to 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.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 Description copied from class:OMRSMetadataCollectionBase
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.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
addEntityProxy
public void addEntityProxy(String userId, EntityProxy entityProxy) throws InvalidParameterException, RepositoryErrorException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
isEntityKnown
public EntityDetail isEntityKnown(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
Returns the entity if the entity is stored in the metadata collection, otherwise null. 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:
- the 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.
-
isRelationshipKnown
public Relationship isRelationshipKnown(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.
-
getEntitySummary
public EntitySummary getEntitySummary(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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 Description copied from class:OMRSMetadataCollectionBase
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.
-
addRelationship
public Relationship addRelationship(String userId, String relationshipTypeGUID, InstanceProperties initialProperties, String entityOneGUID, String entityTwoGUID, InstanceStatus initialStatus) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException, EntityNotKnownException, StatusNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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 set to 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.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 Description copied from class:OMRSMetadataCollectionBase
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.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getRelationship
public Relationship getRelationship(String userId, String guid) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.
-
updateEntityStatus
public EntityDetail updateEntityStatus(String userId, String entityGUID, InstanceStatus newStatus) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, StatusNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollectionBase
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 typeUserNotAuthorizedException
- 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 Description copied from class:OMRSMetadataCollectionBase
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.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 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.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 Description copied from class:OMRSMetadataCollectionBase
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 purgedUserNotAuthorizedException
- 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 Description copied from class:OMRSMetadataCollectionBase
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.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, FunctionNotSupportedException Description copied from class:OMRSMetadataCollectionBase
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 retrieved relationships.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.UserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support the asOfTime parameter.
-
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, TypeErrorException, RepositoryErrorException, PropertyErrorException, PagingErrorException, FunctionNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.FunctionNotSupportedException
- the repository does not support one of the provided parameters.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
findEntitiesByPropertyIteratively
public List<EntityDetail> findEntitiesByPropertyIteratively(List<String> validTypeNames, InstanceProperties matchProperties, MatchCriteria matchCriteria) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, PropertyErrorException -
findEntitiesIteratively
public List<EntityDetail> findEntitiesIteratively(List<String> validTypeNames, SearchProperties searchProperties, MatchCriteria matchCriteria) throws InvalidParameterException, RepositoryErrorException, FunctionNotSupportedException -
findRelationshipsForTypes
public List<Relationship> findRelationshipsForTypes(List<String> validTypeNames, SearchProperties searchProperties, MatchCriteria matchCriteria) throws InvalidParameterException, RepositoryErrorException, FunctionNotSupportedException -
findRelationshipsByPropertyIteratively
public List<Relationship> findRelationshipsByPropertyIteratively(List<String> validTypeNames, InstanceProperties matchProperties, MatchCriteria matchCriteria) throws InvalidParameterException, RepositoryErrorException -
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 Description copied from class:OMRSMetadataCollectionBase
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 this call.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
validateTypeGUID
public void validateTypeGUID(String sourceName, String guidParameterName, String guid, String methodName) throws TypeErrorException - Throws:
TypeErrorException
-
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, FunctionNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.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, FunctionNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.FunctionNotSupportedException
- the repository does not support this call.UserNotAuthorizedException
- the userId is not permitted to perform this operation.- See Also:
-
findEntitiesByPropertyValueForTypes
public List<EntityDetail> findEntitiesByPropertyValueForTypes(List<String> validTypeNames, String filterTypeName, Map<String, TypeDefAttribute> qualifiedPropertyNameToTypeDefinedAttribute, Map<String, throws InvalidParameterException, RepositoryErrorExceptionList<String>> shortPropertyNameToQualifiedPropertyNames, String searchCriteria) -
findRelationshipsByPropertyValueForTypes
public List<Relationship> findRelationshipsByPropertyValueForTypes(List<String> validTypeNames, String filterTypeName, Map<String, TypeDefAttribute> qualifiedPropertyNameToTypeDefinedAttribute, Map<String, throws InvalidParameterException, TypeErrorException, RepositoryErrorException, PropertyErrorException, PagingErrorException, FunctionNotSupportedException, UserNotAuthorizedExceptionList<String>> shortPropertyNameToQualifiedPropertyNames, String searchCriteria) -
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, FunctionNotSupportedException Description copied from class:OMRSMetadataCollectionBase
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.RepositoryErrorException
- there is a problem communicating with the metadata repository where the metadata collection is stored.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.PropertyErrorException
- the properties specified are not valid for any of the requested types of entity.PagingErrorException
- the paging/sequencing parameters are set up incorrectly.FunctionNotSupportedException
- the repository does not support this optional method.
-
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 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.- See Also:
-
classifyEntity
public EntityDetail classifyEntity(String userId, String entityGUID, String classificationName, InstanceProperties classificationProperties) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, ClassificationErrorException, PropertyErrorException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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 typeUserNotAuthorizedException
- 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 Description copied from class:OMRSMetadataCollection
Add the requested classification to a specific entity. If the provided entityProxy does not exist, it should be created, classified, and stored in the repository by this method.- Overrides:
classifyEntity
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- entity as a proxyclassificationName
- String name for the classification.classificationProperties
- list of properties to set in the classification.- Returns:
- Classification newly added classification
- 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 proxy was not found and could not be createdClassificationErrorException
- 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.
-
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 Description copied from class:OMRSMetadataCollectionBase
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:
- 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 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 Description copied from class:OMRSMetadataCollection
Add the requested classification to a specific entity. If the provided entityProxy does not exist, it should be created, classified, and stored in the repository by this method.- Overrides:
classifyEntity
in classOMRSMetadataCollection
- Parameters:
userId
- unique identifier for requesting user.entityProxy
- entity as a proxyclassificationName
- 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 newly added classification
- 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 Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollection
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 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 proxy was not found and could not be createdClassificationErrorException
- the requested classification is not set on the entity.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, FunctionNotSupportedException, PropertyErrorException, PagingErrorException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.FunctionNotSupportedException
- the repository does not support one of the provided parameters.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:
-
deleteEntity
public EntityDetail deleteEntity(String userId, String typeDefGUID, String typeDefName, String obsoleteEntityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
restoreEntity
public EntityDetail restoreEntity(String userId, String deletedEntityGUID) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, EntityNotDeletedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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 restoredUserNotAuthorizedException
- 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 Description copied from class:OMRSMetadataCollectionBase
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.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
restoreRelationship
public Relationship restoreRelationship(String userId, String deletedRelationshipGUID) throws InvalidParameterException, RepositoryErrorException, RelationshipNotKnownException, RelationshipNotDeletedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollectionBase
Change an existing entity's type. 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.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.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.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 Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollectionBase
Change the existing relationship's type. 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.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 Description copied from class:OMRSMetadataCollectionBase
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.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 Description copied from class:OMRSMetadataCollectionBase
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 typeUserNotAuthorizedException
- 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 Description copied from class:OMRSMetadataCollection
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 typeUserNotAuthorizedException
- 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 Description copied from class:OMRSMetadataCollectionBase
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 Description copied from class:OMRSDynamicTypeMetadataCollectionBase
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 Description copied from class:OMRSMetadataCollectionBase
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 either a proxy or 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, EntityConflictException, InvalidEntityException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Description copied from class:OMRSMetadataCollectionBase
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.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.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type.UserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support maintenance of metadata.
-
saveClassificationReferenceCopy
public void saveClassificationReferenceCopy(String userId, EntityProxy entity, Classification classification) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, EntityConflictException, InvalidEntityException, PropertyErrorException, UserNotAuthorizedException, FunctionNotSupportedException Description copied from class:OMRSMetadataCollectionBase
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.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.PropertyErrorException
- one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type.UserNotAuthorizedException
- the userId is not permitted to perform this operation.FunctionNotSupportedException
- the repository does not support maintenance of metadata.
-
purgeClassificationReferenceCopy
public void purgeClassificationReferenceCopy(String userId, EntityDetail entity, Classification classification) throws InvalidParameterException, TypeErrorException, PropertyErrorException, EntityConflictException, InvalidEntityException, RepositoryErrorException, UserNotAuthorizedException, FunctionNotSupportedException Description copied from class:OMRSMetadataCollectionBase
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:
InvalidParameterException
- one of the parameters is invalid or null.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 classification type.EntityConflictException
- the new entity conflicts with an existing entity.InvalidEntityException
- the new entity has invalid contents.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.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 Description copied from class:OMRSMetadataCollectionBase
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 Description copied from class:OMRSMetadataCollectionBase
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 is not know in the metadata collection.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.
-
getEntityNeighborhood
public InstanceGraph getEntityNeighborhood(String userId, String entityGUID, List<String> entityTypeGUIDs, List<String> relationshipTypeGUIDs, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, int level) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, TypeErrorException, PropertyErrorException, FunctionNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
Return the entities and relationships that radiate out from the supplied entity GUID. The results are scoped both the instance type guids and the level.- Overrides:
getEntityNeighborhood
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.entityGUID
- the starting point of the query.entityTypeGUIDs
- list of entity types to include in the query results. Null means include all entities found, irrespective of their type.relationshipTypeGUIDs
- list of relationship types to include in the query results. Null means include all relationships found, irrespective of their type.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.limitResultsByClassification
- List of classifications that must be present on all returned entities.asOfTime
- Requests a historical query of the relationships for the entity. Null means return the present values.level
- the number of the relationships out from the starting entity that the query will traverse to gather results.- Returns:
- InstanceGraph the sub-graph that represents the returned linked entities and their relationships.
- 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 entityGUID is not found in the metadata collection.TypeErrorException
- the type guid passed on the request is not known by the metadata collection.PropertyErrorException
- there is a problem with one of the other parameters.FunctionNotSupportedException
- the repository does not support this call.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getRelatedEntities
public List<EntityDetail> getRelatedEntities(String userId, String startEntityGUID, List<String> entityTypeGUIDs, int fromEntityElement, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize) throws InvalidParameterException, TypeErrorException, RepositoryErrorException, EntityNotKnownException, PropertyErrorException, PagingErrorException, FunctionNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
Return the list of entities that are of the types listed in entityTypeGUIDs and are connected, either directly or indirectly to the entity identified by startEntityGUID.- Overrides:
getRelatedEntities
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.startEntityGUID
- unique identifier of the starting entity.entityTypeGUIDs
- list of types to search for. Null means any type.fromEntityElement
- starting element for results list. Used in paging. Zero means 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.limitResultsByClassification
- List of classifications that must be present on all returned entities.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 entities that can be returned on this request. Zero means unrestricted return results size.- Returns:
- list of entities either directly or indirectly connected to the start entity
- Throws:
InvalidParameterException
- one of the parameters is invalid or null.TypeErrorException
- one of the type guids 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 entity identified by the startEntityGUID is not found in the metadata collection.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.FunctionNotSupportedException
- the repository does not support this call.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getLinkingEntities
public InstanceGraph getLinkingEntities(String userId, String startEntityGUID, String endEntityGUID, List<InstanceStatus> limitResultsByStatus, Date asOfTime) throws InvalidParameterException, RepositoryErrorException, EntityNotKnownException, PropertyErrorException, FunctionNotSupportedException, UserNotAuthorizedException Description copied from class:OMRSMetadataCollectionBase
Return all the relationships and intermediate entities that connect the startEntity with the endEntity.- Overrides:
getLinkingEntities
in classOMRSMetadataCollectionBase
- Parameters:
userId
- unique identifier for requesting user.startEntityGUID
- The entity that is used to anchor the query.endEntityGUID
- the other entity that defines the scope of the query.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.- Returns:
- InstanceGraph the sub-graph that represents the returned linked entities and their relationships.
- 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 either the startEntityGUID or the endEntityGUID is not found in the metadata collection.PropertyErrorException
- there is a problem with one of the other parameters.FunctionNotSupportedException
- the repository does not support this call.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-