Class RepositoryHandler
- java.lang.Object
-
- org.odpi.openmetadata.commonservices.repositoryhandler.RepositoryHandler
-
public class RepositoryHandler extends Object
RepositoryHandler issues common calls to the open metadata repository to retrieve and store metadata. It converts the repository service exceptions into access service exceptions.
-
-
Constructor Summary
Constructors Constructor Description RepositoryHandler(AuditLog auditLog, RepositoryErrorHandler errorHandler, OMRSMetadataCollection metadataCollection, int maxPageSize)Construct the basic handler with information needed to call the repository services and report any error.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description StringaddUniqueAttachedEntityToElement(String userId, String externalSourceGUID, String externalSourceName, String startingEntityGUID, String startingEntityTypeName, String startingRelationshipTypeGUID, String startingRelationshipTypeName, InstanceProperties startingRelationshipProperties, String attachedEntityTypeGUID, String attachedEntityTypeName, InstanceProperties attachedEntityProperties, String methodName)Remove an entity attached to an starting.EntityDetailclassifyEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String classificationTypeGUID, String classificationTypeName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties properties, String methodName)Add a new classification to an existing entity in the open metadata repository.EntityDetailclassifyEntity(String userId, String entityGUID, String classificationName, InstanceProperties properties, String methodName)Deprecated.intcountAttachedRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Count the number of relationships of a specific type attached to an starting entity.StringcreateEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, String methodName)Create a new entity in the open metadata repository with the ACTIVE instance status.StringcreateEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, List<Classification> initialClassifications, String methodName)Create a new entity in the open metadata repository with the ACTIVE instance status.StringcreateEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, List<Classification> initialClassifications, InstanceStatus instanceStatus, String methodName)Create a new entity in the open metadata repository with the specified instance status.StringcreateEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, InstanceStatus instanceStatus, String methodName)Create a new entity in the open metadata repository with the specified instance status.voidcreateExternalRelationship(String userId, String relationshipTypeGUID, String externalSourceGUID, String externalSourceName, String end1GUID, String end2GUID, InstanceProperties relationshipProperties, String methodName)Create a relationship from an external source between two entities.RelationshipcreateRelationship(String userId, String relationshipTypeGUID, String externalSourceGUID, String externalSourceName, String end1GUID, String end2GUID, InstanceProperties relationshipProperties, String methodName)Create a relationship between two entities.voiddeclassifyEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String classificationTypeGUID, String classificationTypeName, InstanceAuditHeader existingClassificationHeader, String methodName)Remove an existing classification from an existing entity in the open metadata repository.voiddeclassifyEntity(String userId, String entityGUID, String classificationTypeName, InstanceAuditHeader existingClassificationHeader, String methodName)Deprecated.voidensureRelationship(String userId, String end1TypeName, String externalSourceGUID, String externalSourceName, String end1GUID, String end2GUID, String relationshipTypeGUID, String relationshipTypeName, InstanceProperties relationshipProperties, String methodName)Ensure a relationship exists between two entities.List<EntityDetail>findEntities(String userId, String entityTypeGUID, List<String> entitySubtypeGUIDs, SearchProperties searchProperties, List<InstanceStatus> limitResultsByStatus, SearchClassifications searchClassifications, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startingFrom, int pageSize, String methodName)Return a list of entities that match the supplied criteria.List<Relationship>findRelationships(String userId, String relationshipTypeGUID, List<String> relationshipSubtypeGUIDs, SearchProperties searchProperties, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startingFrom, int pageSize, String methodName)Return a list of relationships that match the requested conditions.List<EntityDetail>getAttachedEntitiesFromUser(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String attachedEntityTypeGUID, String attachedEntityTypeName, String sequencingPropertyName, int startingFrom, int pageSize, String methodName)Return the list of entities at the other end of the requested relationship type that were created or edited by the requesting user.EntityDetailgetAttachedEntityFromUser(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String attachedEntityTypeGUID, String attachedEntityTypeName, String methodName)Return the list of entities at the other end of the requested relationship type that were created or edited by the requesting user.List<EntityDetail>getEntitiesByAllProperties(String userId, InstanceProperties properties, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName)Return the entities that match all supplied properties.List<EntityDetail>getEntitiesByName(String userId, InstanceProperties nameProperties, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName)Return the requested entity by name.List<EntityDetail>getEntitiesByPropertyValue(String userId, String entityTypeGUID, String searchCriteria, int startingFrom, int pageSize, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, String methodName)Return the entities that match all supplied properties.List<EntityDetail>getEntitiesByType(String userId, String entityTypeGUID, int startingFrom, int pageSize, String methodName)Return the requested entities that match the requested type.List<EntityDetail>getEntitiesByType(String userId, String entityTypeGUID, int startingFrom, int pageSize, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, String methodName)Return the requested entities that match the requested type.List<EntityDetail>getEntitiesByValue(String userId, String propertyValue, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName)Return the entities that match all supplied properties.List<EntityDetail>getEntitiesForClassificationType(String userId, String entityEntityTypeGUID, String classificationName, int startingFrom, int pageSize, String methodName)Return the list of entities by the requested classification type.List<EntityDetail>getEntitiesForRelationshipEnd(String userId, String anchorEntityGUID, String anchorEntityTypeName, boolean anchorAtEnd1, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName)Return the list of entities at the requested end of the requested relationship type.List<EntityDetail>getEntitiesForRelationshipType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName)Return the list of entities at the other end of the requested relationship type.List<EntityDetail>getEntitiesForRelationshipType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String sequencingPropertyName, int startingFrom, int pageSize, String methodName)Return the list of entities at the other end of the requested relationship type.List<EntityDetail>getEntitiesForType(String userId, String entityTypeGUID, String entityTypeName, int startingFrom, int pageSize, String methodName)Return the list of entities of the requested type.List<EntityDetail>getEntitiesWithoutPropertyValues(String userId, InstanceProperties properties, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName)Return the entities that match all supplied properties.EntityDetailgetEntityByGUID(String userId, String guid, String guidParameterName, String entityTypeName, String methodName)Return the requested entity, converting any errors from the repository services into the local OMAS exceptions.List<EntityDetail>getEntityByName(String userId, InstanceProperties nameProperties, String entityTypeGUID, String methodName)Return the requested entity by name.EntityDetailgetEntityForRelationshipType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the entity at the other end of the requested relationship type.InstanceGraphgetEntityNeighborhood(String userId, String entityGUID, List<String> entityTypeGUIDs, List<String> relationshipTypeGUIDs, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, int level, String methodName)Return the entities and relationships that radiate out from the supplied entity GUID.OMRSMetadataCollectiongetMetadataCollection()Return the metadata collection for the repository.EntityProxygetOtherEnd(String startingEntityGUID, String startingEntityTypeName, Relationship relationship, String methodName)Return the entity proxy for the related entity.EntityProxygetOtherEnd(String startingEntityGUID, Relationship relationship)Return the entity proxy for the related entity.List<Relationship>getPagedRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int maximumResults, String methodName)Return the list of relationships of the requested type connected to the starting entity.List<EntityProxy>getRelatedEntityProxies(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName)Return the list of entity proxies for the entities at the far end of the relationships linked to the starting entity.RelationshipgetRelationshipBetweenEntities(String userId, String entity1GUID, String entity1TypeName, String entity2GUID, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the first found relationship of the requested type connecting the supplied entities.RelationshipgetRelationshipByGUID(String userId, String relationshipGUID, String methodName)Deprecated.RelationshipgetRelationshipByGUID(String userId, String relationshipGUID, String relationshipParameterName, String relationshipTypeName, String methodName)Return the current version of a requested relationship.List<Relationship>getRelationshipsBetweenEntities(String userId, String entity1GUID, String entity1TypeName, String entity2GUID, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the list of relationships of the requested type connecting the supplied entities.List<Relationship>getRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName)Return the list of relationships of the requested type connected to the starting entity.List<Relationship>getRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the list of relationships of the requested type connected to the starting entity.List<Relationship>getRelationshipsByType(String userId, String startingEntityGUID, String relationshipTypeGUID, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startingFrom, int pageSize, String methodName)Return the list of relationships of the requested type connected to the starting entity.List<Relationship>getRequiredRelationshipsByType(String userId, String anchorEntityGUID, String anchorEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize, String methodName)Return the list of relationships of the requested type connected to the anchor entity.List<Relationship>getRequiredRelationshipsByType(String userId, String anchorEntityGUID, String anchorEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the list of relationships of the requested type connected to the anchor entity.EntityDetailgetUniqueEntityByName(String userId, String nameValue, String nameParameterName, InstanceProperties nameProperties, String entityTypeGUID, String entityTypeName, String methodName)Return the requested entity by name.RelationshipgetUniqueParentRelationshipByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, boolean parentAtEnd1, String methodName)Return the relationship of the requested type connected to the starting entity and where the starting entity is the logical child.RelationshipgetUniqueRelationshipByType(String userId, String startingEntityGUID, String startingEntityTypeName, boolean startAtEnd1, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the list of relationships of the requested type connected to the starting entity where the starting entity is at the end indicated by the startAtEnd1 boolean parameter.RelationshipgetUniqueRelationshipByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Return the relationship of the requested type connected to the starting entity.booleanisEntityATypeOf(String userId, String guid, String guidParameterName, String entityTypeName, String methodName)Test whether an entity is of a particular type or not.EntitySummaryisEntityKnown(String userId, String guid, String entityTypeName, String methodName, String guidParameterName)Validate that the supplied GUID is for a real entity.voidpurgeEntity(String userId, String obsoleteEntityGUID, String entityTypeGUID, String entityTypeName, String methodName)Purge an entity stored in a repository that does not support delete.voidpurgeRelationship(String userId, String relationshipTypeGUID, String relationshipTypeName, String relationshipGUID, String methodName)Purge a relationship between two entities.voidreclassifyEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String classificationTypeGUID, String classificationTypeName, InstanceAuditHeader existingClassificationHeader, InstanceProperties newProperties, String methodName)Update the properties of an existing classification to an existing entity in the open metadata repository.voidremoveAllRelationshipsOfType(String userId, String externalSourceGUID, String externalSourceName, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Remove all relationships of a certain type starting at a particular entity.voidremoveEntity(String userId, String externalSourceGUID, String externalSourceName, String obsoleteEntityGUID, String obsoleteEntityGUIDParameterName, String entityTypeGUID, String entityTypeName, String validatingPropertyName, String validatingProperty, String methodName)Remove an entity from the open metadata repository if the validating properties match.voidremoveEntityOnLastUse(String userId, String externalSourceGUID, String externalSourceName, String obsoleteEntityGUID, String guidParameterName, String entityTypeGUID, String entityTypeName, String methodName)Remove an entity from the repository if it is no longer connected to any other entity.voidremoveIsolatedEntity(String userId, String obsoleteEntityGUID, String entityTypeGUID, String entityTypeName, String methodName)Deprecated.voidremoveRelationship(String userId, String relationshipTypeGUID, String relationshipTypeName, String relationshipGUID, String methodName)Deprecated.voidremoveRelationship(String userId, String externalSourceGUID, String externalSourceName, String relationshipTypeName, String relationshipGUID, String methodName)Delete a relationship between two entities.voidremoveRelationship(String userId, String externalSourceGUID, String externalSourceName, Relationship relationship, String methodName)Delete a relationship between two entities.voidremoveRelationshipBetweenEntities(String userId, String externalSourceGUID, String externalSourceName, String relationshipTypeGUID, String relationshipTypeName, String entity1GUID, String entity1TypeName, String entity2GUID, String methodName)Delete a relationship between two specific entities.voidremoveUniqueRelationshipByType(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Remove the relationship connected to the supplied entity.voidrestoreEntity(String userId, String deletedEntityGUID, String methodName)Deprecated.voidrestoreEntity(String userId, String externalSourceGUID, String externalSourceName, String deletedEntityGUID, String methodName)Restore the requested entity to the state it was before it was deleted.voidrestoreRelationship(String userId, String deletedRelationshipGUID, String methodName)Deprecated.voidrestoreRelationship(String userId, String externalSourceGUID, String externalSourceName, String deletedRelationshipGUID, String methodName)Restore the requested relationship to the state it was before it was deleted.EntityDetailupdateEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties properties, List<Classification> classifications, String methodName)Update an existing entity in the open metadata repository.EntityDetailupdateEntity(String userId, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties properties, String methodName)Deprecated.EntityDetailupdateEntityProperties(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties updateProperties, String methodName)Update the properties of an existing entity in the open metadata repository.EntityDetailupdateEntityProperties(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, EntityDetail originalEntity, String entityTypeGUID, String entityTypeName, InstanceProperties newProperties, String methodName)Update the properties of an existing entity in the open metadata repository.EntityDetailupdateEntityProperties(String userId, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties updateProperties, String methodName)Deprecated.voidupdateEntityProperties(String userId, String externalSourceGUID, String externalSourceName, InstanceHeader entityHeader, String entityTypeGUID, String entityTypeName, InstanceProperties properties, String methodName)Update an existing entity in the open metadata repository.EntityDetailupdateEntityProperties(String userId, String entityGUID, EntityDetail originalEntity, String entityTypeGUID, String entityTypeName, InstanceProperties newProperties, String methodName)Deprecated.voidupdateEntityStatus(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceStatus instanceStatus, String methodName)Update an existing entity status in the open metadata repository.voidupdateRelationshipProperties(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, InstanceProperties relationshipProperties, String methodName)Update the properties in the requested relationship.voidupdateRelationshipProperties(String userId, String externalSourceGUID, String externalSourceName, Relationship relationship, InstanceProperties relationshipProperties, String methodName)Update the properties in the requested relationship.voidupdateRelationshipProperties(String userId, String relationshipGUID, InstanceProperties relationshipProperties, String methodName)Deprecated.voidupdateRelationshipStatus(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, String relationshipParameterName, String relationshipTypeName, InstanceStatus instanceStatus, String methodName)Update the status in the requested relationship.voidupdateRelationshipStatus(String userId, String relationshipGUID, InstanceStatus instanceStatus, String methodName)Deprecated.voidupdateSelectedEntityClassifications(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, List<Classification> newClassifications, String methodName)Update just the specific list of classifications on an existing entity in the open metadata repository.voidupdateUniqueRelationshipByType(String userId, String externalSourceGUID, String externalSourceName, String end1GUID, String end1TypeName, String end2GUID, String end2TypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName)Ensure that the unique relationship between two entities is established.EntitySummaryvalidateEntityGUID(String userId, String guid, String entityTypeName, String methodName, String guidParameterName)Validate that the supplied GUID is for a real entity and map exceptions if not
-
-
-
Constructor Detail
-
RepositoryHandler
public RepositoryHandler(AuditLog auditLog, RepositoryErrorHandler errorHandler, OMRSMetadataCollection metadataCollection, int maxPageSize)
Construct the basic handler with information needed to call the repository services and report any error.- Parameters:
auditLog- logging destinationerrorHandler- generates error messages and exceptionsmetadataCollection- access to the repository content.maxPageSize- maximum number of instances that can be returned on a single call
-
-
Method Detail
-
validateEntityGUID
public EntitySummary validateEntityGUID(String userId, String guid, String entityTypeName, String methodName, String guidParameterName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Validate that the supplied GUID is for a real entity and map exceptions if not- Parameters:
userId- user making the request.guid- unique identifier of the entity.entityTypeName- expected type of asset.methodName- name of method called.guidParameterName- name of parameter that passed the guid- Returns:
- retrieved entity
- Throws:
InvalidParameterException- entity not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
isEntityKnown
public EntitySummary isEntityKnown(String userId, String guid, String entityTypeName, String methodName, String guidParameterName) throws UserNotAuthorizedException, PropertyServerException
Validate that the supplied GUID is for a real entity. Return null if not- Parameters:
userId- user making the request.guid- unique identifier of the entity.entityTypeName- expected type of asset.methodName- name of method called.guidParameterName- name of parameter that passed the guid- Returns:
- retrieved entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createEntity
public String createEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, List<Classification> initialClassifications, String methodName) throws UserNotAuthorizedException, PropertyServerException
Create a new entity in the open metadata repository with the ACTIVE instance status.- Parameters:
userId- calling userentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.properties- properties for the entityinitialClassifications- list of classifications to attach to the entitymethodName- name of calling method- Returns:
- unique identifier of new entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createEntity
public String createEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Create a new entity in the open metadata repository with the ACTIVE instance status.- Parameters:
userId- calling userentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.properties- properties for the entitymethodName- name of calling method- Returns:
- unique identifier of new entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createEntity
public String createEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, InstanceStatus instanceStatus, String methodName) throws UserNotAuthorizedException, PropertyServerException
Create a new entity in the open metadata repository with the specified instance status. The setting of externalSourceGUID determines whether a local or a remote entity is created.- Parameters:
userId- calling userentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.properties- properties for the entityinstanceStatus- initial status (needs to be valid for type)methodName- name of calling method- Returns:
- unique identifier of new entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createEntity
public String createEntity(String userId, String entityTypeGUID, String entityTypeName, String externalSourceGUID, String externalSourceName, InstanceProperties properties, List<Classification> initialClassifications, InstanceStatus instanceStatus, String methodName) throws UserNotAuthorizedException, PropertyServerException
Create a new entity in the open metadata repository with the specified instance status. The setting of externalSourceGUID determines whether a local or a remote entity is created.- Parameters:
userId- calling userentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.properties- properties for the entityinitialClassifications- list of classifications for the first version of this entity.instanceStatus- initial status (needs to be valid for type)methodName- name of calling method- Returns:
- unique identifier of new entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addUniqueAttachedEntityToElement
public String addUniqueAttachedEntityToElement(String userId, String externalSourceGUID, String externalSourceName, String startingEntityGUID, String startingEntityTypeName, String startingRelationshipTypeGUID, String startingRelationshipTypeName, InstanceProperties startingRelationshipProperties, String attachedEntityTypeGUID, String attachedEntityTypeName, InstanceProperties attachedEntityProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove an entity attached to an starting. There should be only one instance of this relationship.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.startingEntityGUID- unique identifier of the starting entitystartingEntityTypeName- name of starting entity's typestartingRelationshipTypeGUID- unique identifier for the relationship's typestartingRelationshipTypeName- unique name for the relationship's typestartingRelationshipProperties- properties from relationshipattachedEntityTypeGUID- unique identifier for the attached entity's typeattachedEntityTypeName- name of the attached entity's typeattachedEntityProperties- properties of entitymethodName- name of calling method- Returns:
- attached entity GUID
- Throws:
InvalidParameterException- the entity guid is not knownUserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem accessing the property server
-
updateEntityProperties
@Deprecated public EntityDetail updateEntityProperties(String userId, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties updateProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Deprecated.Update the properties of an existing entity in the open metadata repository.- Parameters:
userId- calling userentityGUID- unique identifier of entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeupdateProperties- properties for the entitymethodName- name of calling method- Returns:
- updated entity
- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntityProperties
public EntityDetail updateEntityProperties(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties updateProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the properties of an existing entity in the open metadata repository.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeupdateProperties- properties for the entitymethodName- name of calling method- Returns:
- updated entity
- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntityProperties
@Deprecated public EntityDetail updateEntityProperties(String userId, String entityGUID, EntityDetail originalEntity, String entityTypeGUID, String entityTypeName, InstanceProperties newProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Deprecated.Update the properties of an existing entity in the open metadata repository.- Parameters:
userId- calling userentityGUID- unique identifier of entity to updateoriginalEntity- entity retrieved from repositoryentityTypeGUID- type of entity to createentityTypeName- name of the entity's typenewProperties- properties for the entitymethodName- name of calling method- Returns:
- updated entity
- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntityProperties
public EntityDetail updateEntityProperties(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, EntityDetail originalEntity, String entityTypeGUID, String entityTypeName, InstanceProperties newProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the properties of an existing entity in the open metadata repository.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateoriginalEntity- entity retrieved from repositoryentityTypeGUID- type of entity to createentityTypeName- name of the entity's typenewProperties- properties for the entitymethodName- name of calling method- Returns:
- updated entity
- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateSelectedEntityClassifications
public void updateSelectedEntityClassifications(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, List<Classification> newClassifications, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update just the specific list of classifications on an existing entity in the open metadata repository.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typenewClassifications- classifications for the entitymethodName- name of calling method- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntity
public EntityDetail updateEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties properties, List<Classification> classifications, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update an existing entity in the open metadata repository. Both the properties and the classifications are updated to the supplied values.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeproperties- properties for the entityclassifications- classifications for entitymethodName- name of calling method- Returns:
- returned entity containing the update
- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntityProperties
public void updateEntityProperties(String userId, String externalSourceGUID, String externalSourceName, InstanceHeader entityHeader, String entityTypeGUID, String entityTypeName, InstanceProperties properties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Update an existing entity in the open metadata repository. The external source identifiers are used to validate the provenance of the entity before the update. If they are null, only local cohort entities can be updated. If they are not null, they need to match the instances metadata collection identifiers.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityHeader- unique identifier of entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeproperties- properties for the entitymethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntityStatus
public void updateEntityStatus(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceStatus instanceStatus, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update an existing entity status in the open metadata repository. The external source identifiers are used to validate the provenance of the entity before the update. If they are null, only local cohort entities can be updated. If they are not null, they need to match the instances metadata collection identifiers.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeinstanceStatus- initial status (needs to be valid for type)methodName- name of calling method- Throws:
InvalidParameterException- problem with the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateEntity
@Deprecated public EntityDetail updateEntity(String userId, String entityGUID, String entityTypeGUID, String entityTypeName, InstanceProperties properties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Update the properties of an existing entity in the open metadata repository. This method is deprecated because it does not pass the external source identifiers and so the metadata provenance can not be verified.- Parameters:
userId- calling userentityGUID- unique identifier of entity to updateentityTypeGUID- type of entity to createentityTypeName- name of the entity's typeproperties- properties for the entitymethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
classifyEntity
@Deprecated public EntityDetail classifyEntity(String userId, String entityGUID, String classificationName, InstanceProperties properties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Add a new classification to an existing entity in the open metadata repository.- Parameters:
userId- calling userentityGUID- unique identifier of entity to updateclassificationName- name of the classification's typeproperties- properties for the classificationmethodName- name of calling method- Returns:
- updated entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
classifyEntity
public EntityDetail classifyEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String classificationTypeGUID, String classificationTypeName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties properties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Add a new classification to an existing entity in the open metadata repository.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateclassificationTypeGUID- type of classification to createclassificationTypeName- name of the classification's typeclassificationOrigin- is this classification assigned or propagated?classificationOriginGUID- which entity did a propagated classification originate from?properties- properties for the classificationmethodName- name of calling method- Returns:
- updated entity
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
reclassifyEntity
public void reclassifyEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String classificationTypeGUID, String classificationTypeName, InstanceAuditHeader existingClassificationHeader, InstanceProperties newProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the properties of an existing classification to an existing entity in the open metadata repository.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateclassificationTypeGUID- type of classification to createclassificationTypeName- name of the classification's typeexistingClassificationHeader- current value of classificationnewProperties- properties for the classificationmethodName- name of calling method- Throws:
InvalidParameterException- invalid parameters passed - probably GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
declassifyEntity
@Deprecated public void declassifyEntity(String userId, String entityGUID, String classificationTypeName, InstanceAuditHeader existingClassificationHeader, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Deprecated.Remove an existing classification from an existing entity in the open metadata repository.- Parameters:
userId- calling userentityGUID- unique identifier of entity to updateclassificationTypeName- name of the classification's typeexistingClassificationHeader- current value of classificationmethodName- name of calling method- Throws:
InvalidParameterException- one of the parameters is invalid = probably the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
declassifyEntity
public void declassifyEntity(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String classificationTypeGUID, String classificationTypeName, InstanceAuditHeader existingClassificationHeader, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove an existing classification from an existing entity in the open metadata repository.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identifier of entity to updateclassificationTypeGUID- type of classification to createclassificationTypeName- name of the classification's typeexistingClassificationHeader- current value of classificationmethodName- name of calling method- Throws:
InvalidParameterException- one of the parameters is invalid = probably the GUIDPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
removeEntity
public void removeEntity(String userId, String externalSourceGUID, String externalSourceName, String obsoleteEntityGUID, String obsoleteEntityGUIDParameterName, String entityTypeGUID, String entityTypeName, String validatingPropertyName, String validatingProperty, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove an entity from the open metadata repository if the validating properties match. The external source identifiers are used to validate the provenance of the entity before the update. If they are null, only local cohort entities can be updated. If they are not null, they need to match the instances metadata collection identifiers.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.obsoleteEntityGUID- unique identifier of the entityobsoleteEntityGUIDParameterName- name for unique identifier of the entityentityTypeGUID- type of entity to deleteentityTypeName- name of the entity's typevalidatingPropertyName- name of property that should be in the entity if we have the correct one.validatingProperty- value of property that should be in the entity if we have the correct one.methodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problemInvalidParameterException- mismatch on properties
-
removeEntityOnLastUse
public void removeEntityOnLastUse(String userId, String externalSourceGUID, String externalSourceName, String obsoleteEntityGUID, String guidParameterName, String entityTypeGUID, String entityTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove an entity from the repository if it is no longer connected to any other entity.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.obsoleteEntityGUID- unique identifier of the entityguidParameterName- name of parameter that passed the entity guidentityTypeGUID- unique identifier for the entity's typeentityTypeName- name of the entity's typemethodName- name of calling method- Throws:
InvalidParameterException- the entity guid is not knownUserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem accessing the property server
-
removeIsolatedEntity
@Deprecated public void removeIsolatedEntity(String userId, String obsoleteEntityGUID, String entityTypeGUID, String entityTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Remove an entity from the open metadata repository after checking that is is not connected to anything else. The repository handler helps to ensure that all relationships are deleted explicitly ensuring the events are created and making it easier for third party repositories to keep track of changes rather than have to implement the implied deletes from the logical graph.- Parameters:
userId- calling userobsoleteEntityGUID- unique identifier of the entityentityTypeGUID- type of entity to deleteentityTypeName- name of the entity's typemethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
purgeEntity
public void purgeEntity(String userId, String obsoleteEntityGUID, String entityTypeGUID, String entityTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Purge an entity stored in a repository that does not support delete.- Parameters:
userId- calling userobsoleteEntityGUID- unique identifier of the entityentityTypeGUID- type of entity to deleteentityTypeName- name of the entity's typemethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
restoreEntity
@Deprecated public void restoreEntity(String userId, String deletedEntityGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Restore the requested entity to the state it was before it was deleted.- Parameters:
userId- unique identifier for requesting user.deletedEntityGUID- String unique identifier (guid) for the entity.methodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
restoreEntity
public void restoreEntity(String userId, String externalSourceGUID, String externalSourceName, String deletedEntityGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Restore the requested entity to the state it was before it was deleted.- Parameters:
userId- unique identifier for requesting user.externalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.deletedEntityGUID- String unique identifier (guid) for the entity.methodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getEntitiesForType
public List<EntityDetail> getEntitiesForType(String userId, String entityTypeGUID, String entityTypeName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of entities of the requested type.- Parameters:
userId- user making the requestentityTypeGUID- identifier for the entity's typeentityTypeName- name for the entity's typestartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getEntitiesForRelationshipType
public List<EntityDetail> getEntitiesForRelationshipType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of entities at the other end of the requested relationship type.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getEntitiesForRelationshipType
public List<EntityDetail> getEntitiesForRelationshipType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String sequencingPropertyName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of entities at the other end of the requested relationship type.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followsequencingPropertyName- name of property used to sequence the results - null means no sequencingstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getEntitiesForClassificationType
public List<EntityDetail> getEntitiesForClassificationType(String userId, String entityEntityTypeGUID, String classificationName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of entities by the requested classification type.- Parameters:
userId- user making the requestentityEntityTypeGUID- starting entity's GUIDclassificationName- type name for the classification to followstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getEntitiesForRelationshipEnd
public List<EntityDetail> getEntitiesForRelationshipEnd(String userId, String anchorEntityGUID, String anchorEntityTypeName, boolean anchorAtEnd1, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of entities at the requested end of the requested relationship type.- Parameters:
userId- user making the requestanchorEntityGUID- starting entity's GUIDanchorEntityTypeName- starting entity's type nameanchorAtEnd1- indicates that the match of the anchor entity must be at end 1 (otherwise it is at end two)relationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getAttachedEntityFromUser
public EntityDetail getAttachedEntityFromUser(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String attachedEntityTypeGUID, String attachedEntityTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of entities at the other end of the requested relationship type that were created or edited by the requesting user.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followattachedEntityTypeGUID- identifier for the relationship to followattachedEntityTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
InvalidParameterException- the entity at the other end is not of the expected typePropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getAttachedEntitiesFromUser
public List<EntityDetail> getAttachedEntitiesFromUser(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String attachedEntityTypeGUID, String attachedEntityTypeName, String sequencingPropertyName, int startingFrom, int pageSize, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of entities at the other end of the requested relationship type that were created or edited by the requesting user.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followattachedEntityTypeGUID- identifier for the relationship to followattachedEntityTypeName- type name for the relationship to followsequencingPropertyName- name of property used to sequence the results - needed for pagingstartingFrom- initial position in the stored listpageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved entities or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problemInvalidParameterException- one of the parameters is in error
-
getRelatedEntityProxies
public List<EntityProxy> getRelatedEntityProxies(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of entity proxies for the entities at the far end of the relationships linked to the starting entity.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- calling method- Returns:
- list of entity proxies
- Throws:
InvalidParameterException- the starting entity is not of the expected typePropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getOtherEnd
public EntityProxy getOtherEnd(String startingEntityGUID, Relationship relationship)
Return the entity proxy for the related entity.- Parameters:
startingEntityGUID- unique identifier of the starting entityrelationship- relationship to another entity- Returns:
- proxy to the other entity.
-
getOtherEnd
public EntityProxy getOtherEnd(String startingEntityGUID, String startingEntityTypeName, Relationship relationship, String methodName) throws InvalidParameterException
Return the entity proxy for the related entity.- Parameters:
startingEntityGUID- unique identifier of the starting entitystartingEntityTypeName- type of the entityrelationship- relationship to another entitymethodName- calling method- Returns:
- proxy to the other entity.
- Throws:
InvalidParameterException- the type of the starting entity is incorrect
-
getEntityForRelationshipType
public EntityDetail getEntityForRelationshipType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the entity at the other end of the requested relationship type. The assumption is that this is a 0..1 relationship so one entity (or null) is returned. If lots of relationships are found then the PropertyServerException is thrown.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved entity or null
- Throws:
PropertyServerException- problem accessing the property serverUserNotAuthorizedException- security access problem
-
getEntityByGUID
public EntityDetail getEntityByGUID(String userId, String guid, String guidParameterName, String entityTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the requested entity, converting any errors from the repository services into the local OMAS exceptions.- Parameters:
userId- calling userguid- unique identifier for the entityguidParameterName- name of the guid parameter for error handlingentityTypeName- expected type of the entitymethodName- calling method name- Returns:
- entity detail object
- Throws:
InvalidParameterException- one of the parameters is null or invalid.UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
isEntityATypeOf
public boolean isEntityATypeOf(String userId, String guid, String guidParameterName, String entityTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Test whether an entity is of a particular type or not.- Parameters:
userId- calling userguid- unique identifier of the entity.guidParameterName- name of the parameter containing the guid.entityTypeName- name of the type to test formethodName- calling method- Returns:
- boolean flag
- Throws:
InvalidParameterException- one of the parameters is null or invalid.UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntityByName
public List<EntityDetail> getEntityByName(String userId, InstanceProperties nameProperties, String entityTypeGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the requested entity by name.- Parameters:
userId- calling userIdnameProperties- list of name properties to search on.entityTypeGUID- unique identifier of the entity's typemethodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesByName
public List<EntityDetail> getEntitiesByName(String userId, InstanceProperties nameProperties, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the requested entity by name. The sequencing property name ensure that all elements are returned in the same order to ensure none are lost in the paging process.- Parameters:
userId- calling userIdnameProperties- list of name properties to search onentityTypeGUID- unique identifier of the entity's typesequencingPropertyName- property name used to sequence the resultsstartingFrom- initial position in the stored listpageSize- maximum number of definitions to return on this callmethodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesByAllProperties
public List<EntityDetail> getEntitiesByAllProperties(String userId, InstanceProperties properties, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the entities that match all supplied properties.- Parameters:
userId- calling userIdproperties- list of name properties to search on.entityTypeGUID- unique identifier of the entity's typesequencingPropertyName- property name used to sequence the resultsstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesWithoutPropertyValues
public List<EntityDetail> getEntitiesWithoutPropertyValues(String userId, InstanceProperties properties, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the entities that match all supplied properties.- Parameters:
userId- calling userIdproperties- list of name properties to search on.entityTypeGUID- unique identifier of the entity's typestartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesByValue
public List<EntityDetail> getEntitiesByValue(String userId, String propertyValue, String entityTypeGUID, String sequencingPropertyName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the entities that match all supplied properties. The sequencing order is important if the caller is paging to ensure that all of the results are returned.- Parameters:
userId- calling userIdpropertyValue- string value to search on - may be a RegExentityTypeGUID- unique identifier of the entity's typestartingFrom- initial position in the stored listsequencingPropertyName- name of property used to sequence the results - null means no sequencingpageSize- maximum number of definitions to return on this callmethodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesByPropertyValue
public List<EntityDetail> getEntitiesByPropertyValue(String userId, String entityTypeGUID, String searchCriteria, int startingFrom, int pageSize, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the entities that match all supplied properties.- Parameters:
userId- calling userentityTypeGUID- unique identifier of the entity's typesearchCriteria- 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.startingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.asOfTime- Requests a historical query of the entity. Null means return the present values.sequencingOrder- Enum defining how the results should be ordered.methodName- calling methodsequencingProperty- 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).methodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getUniqueEntityByName
public EntityDetail getUniqueEntityByName(String userId, String nameValue, String nameParameterName, InstanceProperties nameProperties, String entityTypeGUID, String entityTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the requested entity by name.- Parameters:
userId- calling userIdnameValue- property name being searched fornameParameterName- name of parameter that passed the name valuenameProperties- list of name properties to search onentityTypeGUID- type of entity to createentityTypeName- name of the entity's typemethodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesByType
public List<EntityDetail> getEntitiesByType(String userId, String entityTypeGUID, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the requested entities that match the requested type.- Parameters:
userId- calling userIdentityTypeGUID- type of entity requiredstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getEntitiesByType
public List<EntityDetail> getEntitiesByType(String userId, String entityTypeGUID, int startingFrom, int pageSize, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the requested entities that match the requested type.- Parameters:
userId- calling userIdentityTypeGUID- type of entity requiredstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.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.methodName- calling method- Returns:
- list of returned entities
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
findEntities
public List<EntityDetail> findEntities(String userId, String entityTypeGUID, List<String> entitySubtypeGUIDs, SearchProperties searchProperties, List<InstanceStatus> limitResultsByStatus, SearchClassifications searchClassifications, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return a list of entities that match the supplied criteria. The results can be returned over many pages.- 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.searchProperties- Optional list of entity property conditions to match.limitResultsByStatus- By default, entities in all 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.searchClassifications- 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.startingFrom- 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.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:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
findRelationships
public List<Relationship> findRelationships(String userId, String relationshipTypeGUID, List<String> relationshipSubtypeGUIDs, SearchProperties searchProperties, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return a list of relationships that match the requested conditions. The results can be received as a series of pages.- Parameters:
userId- unique identifier for requesting user.relationshipTypeGUID- String unique identifier for the entity type of interest (null means any entity type).relationshipSubtypeGUIDs- optional list of the unique identifiers (guids) for subtypes of the relationshipTypeGUID to include in the search results. Null means all subtypes.searchProperties- Optional list of entity property conditions to match.limitResultsByStatus- By default, entities in all 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.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.startingFrom- 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.pageSize- the maximum number of result entities that can be returned on this request. Zero means unrestricted return results size.- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- problem retrieving the entity.
-
getRelationshipsByType
public List<Relationship> getRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the starting entity. The list is expected to be small.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationships or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRelationshipByGUID
@Deprecated public Relationship getRelationshipByGUID(String userId, String relationshipGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Return the current version of a requested relationship.- Parameters:
userId- user making the requestrelationshipGUID- String unique identifier for the relationship.methodName- name of calling method- Returns:
- retrieved relationship or exception
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRelationshipByGUID
public Relationship getRelationshipByGUID(String userId, String relationshipGUID, String relationshipParameterName, String relationshipTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the current version of a requested relationship.- Parameters:
userId- user making the requestrelationshipGUID- unique identifier for the relationshiprelationshipParameterName- parameter name supplying relationshipGUIDrelationshipTypeName- type name for the relationshipmethodName- name of calling method- Returns:
- retrieved relationship or exception
- Throws:
InvalidParameterException- the GUID is invalidUserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRelationshipsByType
public List<Relationship> getRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the starting entity. The list is expected to be small.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followstartingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved relationships or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRelationshipsByType
public List<Relationship> getRelationshipsByType(String userId, String startingEntityGUID, String relationshipTypeGUID, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startingFrom, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the starting entity. The list is expected to be small.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDrelationshipTypeGUID- identifier for the relationship to followlimitResultsByStatus- By default, relationships in all 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.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.startingFrom- initial position in the stored list.pageSize- maximum number of definitions to return on this call.methodName- name of calling method- Returns:
- retrieved relationships or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRequiredRelationshipsByType
public List<Relationship> getRequiredRelationshipsByType(String userId, String anchorEntityGUID, String anchorEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the anchor entity. No relationships found results in an exception.- Parameters:
userId- user making the requestanchorEntityGUID- starting entity's GUIDanchorEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationships or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRequiredRelationshipsByType
public List<Relationship> getRequiredRelationshipsByType(String userId, String anchorEntityGUID, String anchorEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, List<InstanceStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int pageSize, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the anchor entity. No relationships found results in an exception.- Parameters:
userId- user making the requestanchorEntityGUID- starting entity's GUIDanchorEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationships or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
countAttachedRelationshipsByType
public int countAttachedRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws PropertyServerException, UserNotAuthorizedException
Count the number of relationships of a specific type attached to an starting entity.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- count of the number of relationships
- Throws:
UserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- problem accessing the property server
-
getRelationshipsBetweenEntities
public List<Relationship> getRelationshipsBetweenEntities(String userId, String entity1GUID, String entity1TypeName, String entity2GUID, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connecting the supplied entities.- Parameters:
userId- user making the requestentity1GUID- entity at end 1 GUIDentity1TypeName- entity 1's type nameentity2GUID- entity at end 2 GUIDrelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationship or null
- Throws:
InvalidParameterException- wrong type in entity 1UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getRelationshipBetweenEntities
public Relationship getRelationshipBetweenEntities(String userId, String entity1GUID, String entity1TypeName, String entity2GUID, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return the first found relationship of the requested type connecting the supplied entities.- Parameters:
userId- user making the requestentity1GUID- entity at end 1 GUIDentity1TypeName- entity 1's type nameentity2GUID- entity at end 2 GUIDrelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationship or null
- Throws:
InvalidParameterException- wrong type in entity 1UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getPagedRelationshipsByType
public List<Relationship> getPagedRelationshipsByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int startingFrom, int maximumResults, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the starting entity. If there are no relationships null is returned- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followstartingFrom- results starting pointmaximumResults- page sizemethodName- name of calling method- Returns:
- retrieved relationships or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getUniqueParentRelationshipByType
public Relationship getUniqueParentRelationshipByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, boolean parentAtEnd1, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the relationship of the requested type connected to the starting entity and where the starting entity is the logical child. The assumption is that this is a 0..1 relationship so the first matching relationship is returned (or null if there is none).- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followparentAtEnd1- boolean flag to indicate which end has the parent elementmethodName- name of calling method- Returns:
- retrieved relationship or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getUniqueRelationshipByType
public Relationship getUniqueRelationshipByType(String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the relationship of the requested type connected to the starting entity. The assumption is that this is a 0..1 relationship so one relationship (or null) is returned. If lots of relationships are found then the PropertyServerException is thrown.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namerelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationship or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getUniqueRelationshipByType
public Relationship getUniqueRelationshipByType(String userId, String startingEntityGUID, String startingEntityTypeName, boolean startAtEnd1, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Return the list of relationships of the requested type connected to the starting entity where the starting entity is at the end indicated by the startAtEnd1 boolean parameter. The assumption is that this is a 0..1 relationship so one relationship (or null) is returned. If lots of relationships are found then the PropertyServerException is thrown.- Parameters:
userId- user making the requeststartingEntityGUID- starting entity's GUIDstartingEntityTypeName- starting entity's type namestartAtEnd1- is the starting entity at end 1 of the relationshiprelationshipTypeGUID- identifier for the relationship to followrelationshipTypeName- type name for the relationship to followmethodName- name of calling method- Returns:
- retrieved relationship or null
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
createRelationship
public Relationship createRelationship(String userId, String relationshipTypeGUID, String externalSourceGUID, String externalSourceName, String end1GUID, String end2GUID, InstanceProperties relationshipProperties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Create a relationship between two entities. The value of external source GUID determines if it is local or remote.- Parameters:
userId- calling userrelationshipTypeGUID- unique identifier of the relationship's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.end1GUID- entity to store at end 1end2GUID- entity to store at end 2relationshipProperties- properties for the relationshipmethodName- name of calling method- Returns:
- Relationship structure with the new header, requested entities and properties or null.
- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
ensureRelationship
public void ensureRelationship(String userId, String end1TypeName, String externalSourceGUID, String externalSourceName, String end1GUID, String end2GUID, String relationshipTypeGUID, String relationshipTypeName, InstanceProperties relationshipProperties, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Ensure a relationship exists between two entities. The setting of external source GUID determines if the relationship is external or not- Parameters:
userId- calling userend1TypeName- unique name of the end 1's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.end1GUID- entity to store at end 1end2GUID- entity to store at end 2relationshipTypeGUID- unique identifier of the relationship's typerelationshipTypeName- unique name of the relationship's typerelationshipProperties- properties for the relationshipmethodName- name of calling method- Throws:
InvalidParameterException- type of end 1 is not correctPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
createExternalRelationship
public void createExternalRelationship(String userId, String relationshipTypeGUID, String externalSourceGUID, String externalSourceName, String end1GUID, String end2GUID, InstanceProperties relationshipProperties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Create a relationship from an external source between two entities.- Parameters:
userId- calling userrelationshipTypeGUID- unique identifier of the relationship's typeexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.end1GUID- entity to store at end 1end2GUID- entity to store at end 2relationshipProperties- properties for the relationshipmethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
removeRelationship
@Deprecated public void removeRelationship(String userId, String relationshipTypeGUID, String relationshipTypeName, String relationshipGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Delete a relationship between two entities. If delete is not supported, purge is used. This method is deprecated because it is not possible to verify the metadata provenance of the relationship being deleted.- Parameters:
userId- calling userrelationshipTypeGUID- unique identifier of the type of relationship to deleterelationshipTypeName- name of the type of relationship to deleterelationshipGUID- unique identifier of the relationship to deletemethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
removeRelationship
public void removeRelationship(String userId, String externalSourceGUID, String externalSourceName, String relationshipTypeName, String relationshipGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Delete a relationship between two entities. If delete is not supported, purge is used. The external source identifiers are used to validate the provenance of the entity before the update. If they are null, only local cohort entities can be updated. If they are not null, they need to match the instances metadata collection identifiers.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.relationshipTypeName- name of the type of relationship to deleterelationshipGUID- unique identifier of the relationship to deletemethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
removeRelationship
public void removeRelationship(String userId, String externalSourceGUID, String externalSourceName, Relationship relationship, String methodName) throws UserNotAuthorizedException, PropertyServerException
Delete a relationship between two entities. If delete is not supported, purge is used. The external source identifiers are used to validate the provenance of the entity before the update. If they are null, only local cohort entities can be updated. If they are not null, they need to match the instances metadata collection identifiers.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.relationship- relationship to deletemethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
purgeRelationship
public void purgeRelationship(String userId, String relationshipTypeGUID, String relationshipTypeName, String relationshipGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Purge a relationship between two entities. Used if delete fails.- Parameters:
userId- calling userrelationshipTypeGUID- unique identifier of the type of relationship to deleterelationshipTypeName- name of the type of relationship to deleterelationshipGUID- unique identifier of the relationship to deletemethodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
restoreRelationship
@Deprecated public void restoreRelationship(String userId, String deletedRelationshipGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Restore the requested relationship to the state it was before it was deleted.- Parameters:
userId- unique identifier for requesting user.deletedRelationshipGUID- String unique identifier (guid) for the relationship.methodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
restoreRelationship
public void restoreRelationship(String userId, String externalSourceGUID, String externalSourceName, String deletedRelationshipGUID, String methodName) throws UserNotAuthorizedException, PropertyServerException
Restore the requested relationship to the state it was before it was deleted.- Parameters:
userId- unique identifier for requesting user.deletedRelationshipGUID- String unique identifier (guid) for the relationship.methodName- name of calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
removeAllRelationshipsOfType
public void removeAllRelationshipsOfType(String userId, String externalSourceGUID, String externalSourceName, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Remove all relationships of a certain type starting at a particular entity.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.startingEntityGUID- identifier of starting entitystartingEntityTypeName- type of entityrelationshipTypeGUID- unique identifier of the relationship typerelationshipTypeName- unique name of the relationship typemethodName- calling method- Throws:
PropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
removeRelationshipBetweenEntities
public void removeRelationshipBetweenEntities(String userId, String externalSourceGUID, String externalSourceName, String relationshipTypeGUID, String relationshipTypeName, String entity1GUID, String entity1TypeName, String entity2GUID, String methodName) throws UserNotAuthorizedException, PropertyServerException, InvalidParameterException
Delete a relationship between two specific entities. The relationship must have compatible provenance to allow the update to proceed.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.relationshipTypeGUID- unique identifier of the type of relationship to deleterelationshipTypeName- name of the type of relationship to deleteentity1GUID- unique identifier of the entity at end 1 of the relationship to deleteentity1TypeName- type name of the entity at end 1 of the relationship to deleteentity2GUID- unique identifier of the entity at end 1 of the relationship to deletemethodName- name of calling method- Throws:
InvalidParameterException- type of entity 1 is not correctPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateRelationshipProperties
public void updateRelationshipProperties(String userId, String externalSourceGUID, String externalSourceName, Relationship relationship, InstanceProperties relationshipProperties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Update the properties in the requested relationship.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.relationship- relationship to update.relationshipProperties- new properties for relationshipmethodName- name of calling method.- Throws:
PropertyServerException- there is a problem communicating with the repository.UserNotAuthorizedException- security access problem
-
updateRelationshipProperties
@Deprecated public void updateRelationshipProperties(String userId, String relationshipGUID, InstanceProperties relationshipProperties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Update the properties in the requested relationship. This method is deprecated because it is not possible to verify the metadata provenance of the relationship.- Parameters:
userId- calling userrelationshipGUID- unique identifier of the relationship.relationshipProperties- new properties for relationshipmethodName- name of calling method.- Throws:
PropertyServerException- there is a problem communicating with the repository.UserNotAuthorizedException- security access problem
-
updateRelationshipProperties
public void updateRelationshipProperties(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, InstanceProperties relationshipProperties, String methodName) throws UserNotAuthorizedException, PropertyServerException
Update the properties in the requested relationship.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.relationshipGUID- unique identifier of the relationship.relationshipProperties- new properties for relationshipmethodName- name of calling method.- Throws:
PropertyServerException- there is a problem communicating with the repository.UserNotAuthorizedException- security access problem
-
updateRelationshipStatus
@Deprecated public void updateRelationshipStatus(String userId, String relationshipGUID, InstanceStatus instanceStatus, String methodName) throws UserNotAuthorizedException, PropertyServerException
Deprecated.Update the status in the requested relationship.- Parameters:
userId- calling userrelationshipGUID- unique identifier of the relationship.instanceStatus- new InstanceStatus for the entity.methodName- name of calling method.- Throws:
PropertyServerException- there is a problem communicating with the repository.UserNotAuthorizedException- security access problem
-
updateRelationshipStatus
public void updateRelationshipStatus(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, String relationshipParameterName, String relationshipTypeName, InstanceStatus instanceStatus, String methodName) throws UserNotAuthorizedException, PropertyServerException
Update the status in the requested relationship.- Parameters:
userId- calling userrelationshipGUID- unique identifier of the relationship.relationshipParameterName- parameter name supplying relationshipGUIDrelationshipTypeName- type name for the relationshipinstanceStatus- new InstanceStatus for the entity.methodName- name of calling method.- Throws:
PropertyServerException- there is a problem communicating with the repository.UserNotAuthorizedException- security access problem
-
updateUniqueRelationshipByType
public void updateUniqueRelationshipByType(String userId, String externalSourceGUID, String externalSourceName, String end1GUID, String end1TypeName, String end2GUID, String end2TypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Ensure that the unique relationship between two entities is established. It is possible that there is already a relationship of this type between either of the entities and another and so that needs to be removed first.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source.externalSourceName- unique name for the external source.end1GUID- unique identifier of the entity for end 1 of the relationship.end1TypeName- type of the entity for end 1end2GUID- unique identifier of the entity for end 2 of the relationship.end2TypeName- type of the entity for end 2relationshipTypeGUID- unique identifier of the type of relationship to create.relationshipTypeName- name of the type of relationship to create.methodName- name of calling method.- Throws:
PropertyServerException- there is a problem communicating with the repository.UserNotAuthorizedException- security access problem
-
removeUniqueRelationshipByType
public void removeUniqueRelationshipByType(String userId, String externalSourceGUID, String externalSourceName, String entityGUID, String entityTypeName, String relationshipTypeGUID, String relationshipTypeName, String methodName) throws UserNotAuthorizedException, PropertyServerException
Remove the relationship connected to the supplied entity. Due to the definition of the relationship, only one is expected.- Parameters:
userId- calling userexternalSourceGUID- unique identifier (guid) for the external source, or null for local.externalSourceName- unique name for the external source.entityGUID- unique identity of the starting entity.entityTypeName- type name of entityrelationshipTypeGUID- unique identifier of the relationship's typerelationshipTypeName- name of the relationship's typemethodName- calling method- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- there is a problem communicating with the repository.
-
getEntityNeighborhood
public InstanceGraph getEntityNeighborhood(String userId, String entityGUID, List<String> entityTypeGUIDs, List<String> relationshipTypeGUIDs, List<InstanceStatus> limitResultsByStatus, List<String> limitResultsByClassification, Date asOfTime, int level, String methodName) throws UserNotAuthorizedException, PropertyServerException
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.- 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 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.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.methodName- name of calling method.- Returns:
- InstanceGraph the sub-graph that represents the returned linked entities and their relationships or null.
- Throws:
UserNotAuthorizedException- security access problemPropertyServerException- problem accessing the property server
-
getMetadataCollection
public OMRSMetadataCollection getMetadataCollection()
Return the metadata collection for the repository. This is used by services that need function that is not supported by this class.- Returns:
- metadata collection for the repository
-
-