Class EndpointHandler<B>
java.lang.Object
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPITemplateHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.ReferenceableHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.EndpointHandler<B>
EndpointHandler manages Endpoint objects. These describe the network addresses where services are running. They are used by connection
objects to describe the service that the connector should call. They are linked to servers to show their network address where the services that
they are hosting are running.
EndpointHandler runs server-side in the OMAG Server Platform and retrieves Endpoint entities through the OMRSRepositoryConnector via the
generic handler and repository handler.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler
OpenMetadataAPIGenericHandler.AnchorIdentifiers
-
Field Summary
Fields inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler
assetActionDescription, auditLog, beanClass, converter, defaultZones, errorHandler, invalidParameterHandler, localServerUserId, publishZones, qualifiedNamePropertyNamesList, repositoryHandler, repositoryHelper, securityVerifier, serverName, serviceName, supportedZones
-
Constructor Summary
ConstructorDescriptionEndpointHandler
(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog) Construct the handler information needed to interact with the repository services -
Method Summary
Modifier and TypeMethodDescriptioncreateEndpoint
(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, String qualifiedName, String displayName, String description, String networkAddress, String protocol, String encryptionMethod, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, Object> extendedProperties, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) Creates a new endpoint and returns the unique identifier for it.createEndpointFromTemplate
(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String qualifiedName, String displayName, String description, String networkAddress, String methodName) Create a new metadata element to represent a connection using an existing metadata element as a template.findEndpoints
(String userId, String searchString, String searchStringParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the list of metadata elements that contain the search string.getEndpointByGUID
(String userId, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the metadata element with the supplied unique identifier.getEndpointsByName
(String userId, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the list of metadata elements with a matching qualified name, display name or network address.getEndpointsByNetworkAddress
(String userId, String networkAddress, String networkAddressParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Return the list of endpoints exactly matching the supplied network address.getEndpointsByNetworkAddress
(String userId, String networkAddress, String networkAddressParameterName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Return the list of endpoints exactly matching the supplied network address.void
removeEndpoint
(String userId, String externalSourceGUID, String externalSourceName, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Remove the metadata element.void
updateEndpoint
(String userId, String externalSourceGUID, String externalSourceName, String endpointGUID, String endpointGUIDParameterName, String qualifiedName, String displayName, String description, String networkAddress, String protocol, String encryptionMethod, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, Object> extendedProperties, boolean isMergeUpdate, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Updates the properties of an existing endpoint.Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.ReferenceableHandler
addAssignmentScope, addDataFieldValuesClassification, addGovernanceActionClassification, addGovernanceDefinitionScope, addGovernanceExpectationsClassification, addGovernanceMeasurementsClassification, addGovernedBy, addImplementedBy, addMoreInformation, addOwner, addRetentionClassification, addSecurityTags, addStakeholder, addSubjectAreaClassification, addTemplateClassification, clearBusinessSignificant, findBeanGUIDsByQualifiedName, findBeansByQualifiedName, findBeansByQualifiedName, getAssignedActors, getAssignmentScope, getBeanByQualifiedName, getBeanByQualifiedName, getBeanGUIDByQualifiedName, getBeanGUIDByQualifiedName, getBeanGUIDsByQualifiedName, getBeanGUIDsByQualifiedName, getBeansByQualifiedName, getBeansByQualifiedName, getCatalogTemplateList, getCollectionMembers, getCommissionedByStakeholder, getDataFieldValuesClassifiedElement, getDescriptiveElements, getElementsSourceFrom, getEntityByUniqueQualifiedName, getGovernanceActionClassifiedElements, getGovernanceDefinitionScope, getGovernedElements, getMeanings, getMoreInformation, getMoreInformation, getOwnersElements, getReferenceValueAssignees, getResourceList, getRetentionClassifiedElements, getSecurityTagsClassifiedElements, getSemanticAssignments, getSourceElements, getStakeholders, getSubjectAreaMembers, getSubjectAreaMembers, getSupportedByResource, getSupportedByTemplate, getValidValueConsumers, getVendorProperties, linkConsolidatedDuplicate, linkElementsAsPeerDuplicates, removeAssignmentScope, removeCatalogTemplate, removeDataFieldValuesClassification, removeGovernanceActionClassification, removeGovernanceDefinitionScope, removeGovernanceExpectationsClassification, removeGovernanceMeasurementsClassification, removeGovernedBy, removeImplementedBy, removeMoreInformation, removeOwner, removeResourceListMember, removeRetentionClassification, removeSecurityTags, removeSemanticAssignment, removeStakeholder, removeSubjectAreaClassification, removeTemplateClassification, saveCatalogTemplate, saveResourceListMember, saveSemanticAssignment, saveSemanticAssignment, saveSemanticAssignments, setBusinessSignificant, setVendorProperties, unlinkElementsAsPeerDuplicates
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPITemplateHandler
createBeanFromTemplate, createBeanFromTemplate
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler
addAnchorGUIDToBuilder, addAnchorsClassification, archiveBeanInRepository, archiveBeanInRepository, countAttachments, createBeanInRepository, createBeanInRepository, deleteAnchoredEntity, deleteBeanInRepository, deleteBeanInRepository, deleteBeanInRepository, deleteRelationship, findAttachmentLinks, findBeanGUIDs, findBeans, findBeans, findBeans, findEntities, findEntities, findEntities, findEntities, getAllAttachmentLinks, getAnchorGUIDFromAnchorsClassification, getAttachedElement, getAttachedElementGUID, getAttachedElementGUID, getAttachedElementGUIDs, getAttachedElementGUIDs, getAttachedElements, getAttachedElements, getAttachedElements, getAttachedEntities, getAttachedEntities, getAttachedEntities, getAttachedEntitiesFromUser, getAttachedEntity, getAttachedEntity, getAttachedEntityFromUser, getAttachmentLink, getAttachmentLinks, getAttachmentLinks, getAttachmentLinks, getAttachmentsForType, getBeanByUniqueName, getBeanByUniqueName, getBeanByValue, getBeanFromEntity, getBeanFromRepository, getBeanFromRepository, getBeanFromRepository, getBeanGUIDByUniqueName, getBeanGUIDByUniqueName, getBeanGUIDsByClassification, getBeanGUIDsByType, getBeanGUIDsByType, getBeanHistory, getBeansByClassification, getBeansByCreator, getBeansByIntValue, getBeansByType, getBeansByType, getBeansByValue, getBeansByValue, getDomainName, getDomainName, getEntitiesByIntValue, getEntitiesByType, getEntitiesByType, getEntitiesByValue, getEntitiesByValue, getEntitiesByValue, getEntitiesByValue, getEntityByValue, getEntityByValue, getEntityFromRepository, getEntityFromRepository, getEntityGUIDByValue, getEntityGUIDsByValue, getSpecification, getSupplementaryProperties, getUniqueAttachmentLink, getUniqueAttachmentLink, isBeanIsolated, isEntityATypeOf, linkElementToElement, linkElementToElement, linkElementToElement, maintainSupplementaryProperties, multiLinkElementToElement, relinkElementToNewElement, relinkElementToNewElement, removeClassificationFromRepository, removeClassificationFromRepository, setClassificationInRepository, setClassificationInRepository, setClassificationInRepository, setClassificationInRepository, uncheckedLinkElementToElement, undoBeanUpdateInRepository, undoBeanUpdateInRepository, undoBeanUpdateInRepository, unlinkAllElements, unlinkConnectedElement, unlinkElementFromElement, unlinkElementFromElement, unlinkElementFromElement, unlinkElementFromElement, updateBeanEffectivityDates, updateBeanEffectivityDates, updateBeanInRepository, updateBeanInRepository, updateBeanInRepository, updateBeanInRepository, updateBeanPropertyInRepository, updateBeanStatusInRepository, updateBeanStatusInRepository, updateClassificationEffectivityDates, updateElementToElementLink, updateElementToElementLink, updateElementToElementLink, updateRelationshipEffectivityDates, updateRelationshipEffectivityDates, updateRelationshipProperties, updateRelationshipProperties, validateAnchorEntity, validateAnchorEntity, validateUniqueProperty, verifyExternalSourceIdentity
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler
getConverter, getElementStub, getRepositoryHandler, getRepositoryHelper, getServerName, getServiceName, getSupportedZones, getTypeDefByName, setSecurityVerifier
-
Constructor Details
-
EndpointHandler
public EndpointHandler(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog) Construct the handler information needed to interact with the repository services- Parameters:
converter
- specific converter for this bean classbeanClass
- name of bean class that is represented by the generic class BserviceName
- name of this serviceserverName
- name of the local serverinvalidParameterHandler
- handler for managing parameter errorsrepositoryHandler
- manages calls to the repository servicesrepositoryHelper
- provides utilities for manipulating the repository services objectslocalServerUserId
- userId for this serversecurityVerifier
- open metadata security services verifiersupportedZones
- list of zones that the access service is allowed to serve Asset instances from.defaultZones
- list of zones that the access service should set in all new Asset instances.publishZones
- list of zones that the access service sets up in published Asset instances.auditLog
- destination for audit log events.
-
-
Method Details
-
createEndpoint
public String createEndpoint(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, String qualifiedName, String displayName, String description, String networkAddress, String protocol, String encryptionMethod, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, throws InvalidParameterException, PropertyServerException, UserNotAuthorizedExceptionObject> extendedProperties, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) Creates a new endpoint and returns the unique identifier for it.- Parameters:
userId
- userId of user making requestexternalSourceGUID
- guid of the software capability entity that represented the external source - null for localexternalSourceName
- name of the software capability entity that represented the external sourceanchorGUID
- the unique identifier for the anchor entity (null for unanchored endpoints)qualifiedName
- unique name of the endpointdisplayName
- human memorable name for the endpoint - does not need to be uniquedescription
- (optional) description of the endpoint. Setting a description, particularly in a public endpoint makes the endpoint more valuable to other users and can act as an embryonic glossary termnetworkAddress
- the network address (typically the URL but this depends on the protocol)protocol
- the name of the protocol to use to connect to the endpointencryptionMethod
- encryption method to use when passing data to this endpointadditionalProperties
- name value pairs for values that are not formally defined in the type systemsuppliedTypeName
- name of the subtype for the endpoint or null for standard typeextendedProperties
- any properties for a subtypeeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective formethodName
- calling method- Returns:
- GUID for new endpoint
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the endpoint properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
createEndpointFromTemplate
public String createEndpointFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String qualifiedName, String displayName, String description, String networkAddress, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent a connection using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.- Parameters:
userId
- calling userexternalSourceGUID
- guid of the software capability entity that represented the external source - null for localexternalSourceName
- name of the software capability entity that represented the external sourcetemplateGUID
- unique identifier of the metadata element to copyqualifiedName
- unique name for the element - used in other configurationdisplayName
- short display name for the new elementdescription
- description of the new elementnetworkAddress
- network addressmethodName
- calling method- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
updateEndpoint
public void updateEndpoint(String userId, String externalSourceGUID, String externalSourceName, String endpointGUID, String endpointGUIDParameterName, String qualifiedName, String displayName, String description, String networkAddress, String protocol, String encryptionMethod, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, throws InvalidParameterException, PropertyServerException, UserNotAuthorizedExceptionObject> extendedProperties, boolean isMergeUpdate, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Updates the properties of an existing endpoint.- Parameters:
userId
- userId of user making request.externalSourceGUID
- guid of the software capability entity that represented the external source - null for localexternalSourceName
- name of the software capability entity that represented the external sourceendpointGUID
- unique identifier for the endpointendpointGUIDParameterName
- parameter providing endpointGUIDqualifiedName
- unique name of the endpointdisplayName
- human memorable name for the endpoint - does not need to be uniquedescription
- (optional) description of the endpoint. Setting a description, particularly in a public endpoint makes the endpoint more valuable to other users and can act as an embryonic glossary termnetworkAddress
- the network address (typically the URL but this depends on the protocol)protocol
- the name of the protocol to use to connect to the endpointencryptionMethod
- encryption method to use when passing data to this endpointadditionalProperties
- name value pairs for values that are not formally defined in the type systemsuppliedTypeName
- name of the subtype for the endpoint or null for standard typeextendedProperties
- any properties for a subtypeisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?effectiveFrom
- starting time for this relationship (null for all time)effectiveTo
- ending time for this relationship (null for all time)forLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the endpoint properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
removeEndpoint
public void removeEndpoint(String userId, String externalSourceGUID, String externalSourceName, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element. This will delete all elements anchored to it.- Parameters:
userId
- calling userexternalSourceGUID
- guid of the software capability entity that represented the external source - null for localexternalSourceName
- name of the software capability entity that represented the external sourceguid
- unique identifier of the metadata element to removeguidParameterName
- parameter supplying the guidforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getEndpointsByNetworkAddress
public List<B> getEndpointsByNetworkAddress(String userId, String networkAddress, String networkAddressParameterName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of endpoints exactly matching the supplied network address.- Parameters:
userId
- the calling usernetworkAddress
- network address of endpointnetworkAddressParameterName
- parameter providing endpointserviceSupportedZones
- list of supported zones for this servicestartFrom
- index of the list ot start from (0 for start)pageSize
- maximum number of elements to returnforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Returns:
- endpoint list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
getEndpointsByNetworkAddress
public List<B> getEndpointsByNetworkAddress(String userId, String networkAddress, String networkAddressParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of endpoints exactly matching the supplied network address.- Parameters:
userId
- the calling usernetworkAddress
- network address of endpointnetworkAddressParameterName
- parameter providing endpointstartFrom
- index of the list ot start from (0 for start)pageSize
- maximum number of elements to returnforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Returns:
- endpoint list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
findEndpoints
public List<B> findEndpoints(String userId, String searchString, String searchStringParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of metadata elements that contain the search string. The search string is treated as a regular expression.- Parameters:
userId
- calling usersearchString
- string to find in the propertiessearchStringParameterName
- name of parameter supplying the search stringstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getEndpointsByName
public List<B> getEndpointsByName(String userId, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of metadata elements with a matching qualified name, display name or network address. There are no wildcards supported on this request.- Parameters:
userId
- calling username
- name to search fornameParameterName
- parameter supplying namestartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getEndpointByGUID
public B getEndpointByGUID(String userId, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element with the supplied unique identifier.- Parameters:
userId
- calling userguid
- unique identifier of the requested metadata elementguidParameterName
- parameter name of guidforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Returns:
- matching metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-