diff --git a/open-metadata-implementation/access-services/asset-manager/asset-manager-client/src/main/java/org/odpi/openmetadata/accessservices/assetmanager/client/management/StewardshipManagementClient.java b/open-metadata-implementation/access-services/asset-manager/asset-manager-client/src/main/java/org/odpi/openmetadata/accessservices/assetmanager/client/management/StewardshipManagementClient.java index 7d31f0470b2..86843364f05 100644 --- a/open-metadata-implementation/access-services/asset-manager/asset-manager-client/src/main/java/org/odpi/openmetadata/accessservices/assetmanager/client/management/StewardshipManagementClient.java +++ b/open-metadata-implementation/access-services/asset-manager/asset-manager-client/src/main/java/org/odpi/openmetadata/accessservices/assetmanager/client/management/StewardshipManagementClient.java @@ -1410,7 +1410,7 @@ public MetadataElementSummary getMetadataElementByGUID(String userId, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, - PropertyServerException + PropertyServerException { return client.getMetadataElementByGUID(userId, elementGUID, forLineage, forDuplicateProcessing, effectiveTime); } diff --git a/open-metadata-implementation/governance-server-services/integration-daemon-services/integration-daemon-services-api/src/main/java/org/odpi/openmetadata/governanceservers/integrationdaemonservices/rest/ConnectorConfigPropertiesRequestBody.java b/open-metadata-implementation/governance-server-services/integration-daemon-services/integration-daemon-services-api/src/main/java/org/odpi/openmetadata/governanceservers/integrationdaemonservices/rest/ConnectorConfigPropertiesRequestBody.java index 286c0056e91..e3bdeb7e113 100644 --- a/open-metadata-implementation/governance-server-services/integration-daemon-services/integration-daemon-services-api/src/main/java/org/odpi/openmetadata/governanceservers/integrationdaemonservices/rest/ConnectorConfigPropertiesRequestBody.java +++ b/open-metadata-implementation/governance-server-services/integration-daemon-services/integration-daemon-services-api/src/main/java/org/odpi/openmetadata/governanceservers/integrationdaemonservices/rest/ConnectorConfigPropertiesRequestBody.java @@ -80,7 +80,7 @@ public void setConnectorName(String connectorName) /** - * Return indication of there properties should be over-write or replace existing properties. + * Return indication of whether properties should be over-write or replace existing properties. * * @return boolean flag */ @@ -91,7 +91,7 @@ public boolean getMergeUpdate() /** - * Set up the indication of there properties should be over-write or replace existing properties. + * Set up the indication of whether properties should be over-write or replace existing properties. * * @param mergeUpdate boolean flag */ diff --git a/open-metadata-implementation/view-services/runtime-manager/Egeria-runtime-manager-omvs.http b/open-metadata-implementation/view-services/runtime-manager/Egeria-runtime-manager-omvs.http index b6f2ec60c6a..f1e4ae639bc 100644 --- a/open-metadata-implementation/view-services/runtime-manager/Egeria-runtime-manager-omvs.http +++ b/open-metadata-implementation/view-services/runtime-manager/Egeria-runtime-manager-omvs.http @@ -67,8 +67,6 @@ Content-Type: application/json } - - ### # @name getPlatformsByDeployedImplementationType (OMAG Server Platform) # Returns the list of platforms with a particular deployed implementation type. The value is specified in the filter. @@ -194,7 +192,117 @@ Content-Type: application/json ### # ======================================================================================== -# Open Metadata Archives +# Integration Daemon Servers + +@connectorName=add name here +@integrationGroupName=add name here + +### +# @name getConfigurationProperties +# Retrieve the configuration properties of the named integration connector running in the integration daemon. +GET {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/integration-connectors/{{connectorName}}/configuration-properties +Authorization: Bearer {{token}} + +### +# @name updateConfigurationProperties +# Update the configuration properties of the integration connectors, or specific integration connector if a connector name is supplied. This update is in memory and will not persist over a server restart. +# mergeUpdate indicates whether properties should be over-written or completely replace existing properties. +POST {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/integration-connectors/configuration-properties +Authorization: Bearer {{token}} +Content-Type: application/json + +{ + "class" : "ConnectorConfigPropertiesRequestBody", + "connectorName" : "{{connectorName}}", + "mergeUpdate" : false, + "configurationProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + } +} + +### +# @name updateEndpointNetworkAddress +# Update the endpoint network address for a specific integration connector. This update is in memory and will not persist over a server restart. +POST {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/integration-connectors/{{connectorName}}/endpoint-network-address +Authorization: Bearer {{token}} +Content-Type: application/json + +{ + "class" : "StringRequestBody", + "string" : "add new address here" +} + + +### +# @name updateConnectorConnection +# Update the connection for a specific integration connector. This update is in memory and will not persist over a server restart. +POST {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/integration-connectors/{{connectorName}}/connection +Authorization: Bearer {{token}} +Content-Type: application/json + +{ + "class" : "Connection" +} + + +### +# @name refreshConnectors +# Issue a refresh() request on all connectors running in the integration daemon, or a specific connector if the connector name is specified. +POST {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/integration-connectors/refresh +Authorization: Bearer {{token}} +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "add optional name here" +} + + +### +# @name refreshIntegrationGroupConfig +# Request that the integration group refresh its configuration by calling the metadata access server. " + +# Changes to the connector configuration will result in the affected connectors being restarted. " + +# This request is useful if the metadata access server has an outage, particularly while the " + +# integration daemon is initializing. This request just ensures that the latest configuration " + +# is in use. See https://egeria-project.org/concepts/integration-group/ +GET {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/integration-groups/{{integrationGroupName}}/refresh-config +Authorization: Bearer {{token}} + + + +### +# @name publishOpenLineageEvent +# Pass an open lineage event to the integration daemon. The event is the request body. It will pass it on to the +# integration connectors that have registered a listener for open lineage events. +POST {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/integration-daemons/{{serverGUID}}/open-lineage-events/publish +Authorization: Bearer {{token}} +Content-Type: application/json + +{ +} + + +### +# ======================================================================================== +# Engine Host + +@governanceEngineName=add name here + +### +# @name refreshConfig +# Request that the governance engine refresh its configuration by calling the metadata server. +# This request is useful if the metadata server has an outage, particularly while the +# governance server is initializing. This request just ensures that the latest configuration +# is in use. See https://egeria-project.org/concepts/governance-engine-definition/ +GET {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/engine-hosts/{{serverGUID}}/governance-engines/{{governanceEngineName}}/refresh-config +Authorization: Bearer {{token}} + +### +# ======================================================================================== +# Metadata Access Servers + +@cohortName=add name here ### # @name addOpenMetadataArchiveFile @@ -216,4 +324,30 @@ Content-Type: application/json { } + +### +# @name connectToCohort +# A new server needs to register the metadataCollectionId for its metadata repository with the other servers in the +# open metadata repository. It only needs to do this once and uses a timestamp to record that the registration +# event has been sent. +# If the server has already registered in the past, it sends a reregistration request. +# See https://egeria-project.org/concepts/cohort-member/ +GET {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/cohort-members/{{serverGUID}}/cohorts/{{cohortName}}/connect +Authorization: Bearer {{token}} + + ### +# @name disconnectFromCohort +# Disconnect communications from a specific cohort. +# See https://egeria-project.org/concepts/cohort-member/ +GET {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/cohort-members/{{serverGUID}}/cohorts/{{cohortName}}/disconnect +Authorization: Bearer {{token}} + + +### +# @name unregisterFromCohort +# Unregister from a specific cohort and disconnect from cohort communications. +# See https://egeria-project.org/concepts/cohort-member/ +GET {{baseURL}}/servers/{{viewServer}}/api/open-metadata/runtime-manager/cohort-members/{{serverGUID}}/cohorts/{{cohortName}}/unregister +Authorization: Bearer {{token}} + diff --git a/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialHospitalOnboardingService.java b/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialHospitalOnboardingService.java index 752ab2964a7..fc19b843774 100644 --- a/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialHospitalOnboardingService.java +++ b/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialHospitalOnboardingService.java @@ -260,6 +260,7 @@ else if (dataQualityCertificationTypeGUID == null) newFileProcessName = this.createNewFileProcess(onboardingProcessGUID, clinicalTrialId, clinicalTrialName, + hospitalName, stewardGUID, hospitalDataLakeTemplateName, dataQualityCertificationTypeGUID); @@ -597,7 +598,8 @@ private String createTemplate(String rawTemplateGUID, /** - * Add the new folder to the integration connector monitoring the landing area. + * Create a new process for onboarding files from a specific hospital. This is effectively a facade that + * adds the specific action targets and templates (request parameters) for the hospital. * * @param onboardingProcessGUID unique identifier of the generic process * @param clinicalTrialId identifier of the clinical trial @@ -609,6 +611,7 @@ private String createTemplate(String rawTemplateGUID, private String createNewFileProcess(String onboardingProcessGUID, String clinicalTrialId, String clinicalTrialName, + String hospitalName, String stewardGUID, String dataLakeTemplateName, String dataQualityCertificationType) throws InvalidParameterException, @@ -616,7 +619,8 @@ private String createNewFileProcess(String onboardingProcessGUID, UserNotAuthorizedException { final String methodName = "createNewFileProcess"; - String processQualifiedName = "Coco:GovernanceActionProcess:" + clinicalTrialId + ":WeeklyMeasurements:Onboarding"; + + String processQualifiedName = "Coco:GovernanceActionProcess:" + clinicalTrialId + ":" + hospitalName + ":WeeklyMeasurements:Onboarding"; OpenMetadataElement genericProcess = governanceContext.getOpenMetadataStore().getMetadataElementByGUID(onboardingProcessGUID); diff --git a/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialSetUpDataLakeService.java b/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialSetUpDataLakeService.java index a51989bb344..a904359ae40 100644 --- a/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialSetUpDataLakeService.java +++ b/open-metadata-resources/open-metadata-samples/governance-action-samples/src/main/java/org/odpi/openmetadata/samples/governanceactions/clinicaltrials/CocoClinicalTrialSetUpDataLakeService.java @@ -72,7 +72,14 @@ public void start() throws ConnectorCheckedException */ if (governanceContext.getRequestParameters() != null) { - volumeTemplateGUID = governanceContext.getRequestParameters().get(CocoClinicalTrialRequestParameter.DATA_LAKE_VOLUME_TEMPLATE.getName()); + if (governanceContext.getRequestParameters().get(CocoClinicalTrialRequestParameter.DATA_LAKE_VOLUME_TEMPLATE.getName()) != null) + { + volumeTemplateGUID = governanceContext.getRequestParameters().get(CocoClinicalTrialRequestParameter.DATA_LAKE_VOLUME_TEMPLATE.getName()); + } + if (governanceContext.getRequestParameters().get(CocoClinicalTrialRequestParameter.DATA_LAKE_SCHEMA_TEMPLATE.getName()) != null) + { + schemaTemplateGUID = governanceContext.getRequestParameters().get(CocoClinicalTrialRequestParameter.DATA_LAKE_SCHEMA_TEMPLATE.getName()); + } } /*