http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositoryconnector/LocalOMRSInstanceEventProcessor.java
----------------------------------------------------------------------
diff --git
a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositoryconnector/LocalOMRSInstanceEventProcessor.java
b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositoryconnector/LocalOMRSInstanceEventProcessor.java
deleted file mode 100644
index e7cc6f7..0000000
---
a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositoryconnector/LocalOMRSInstanceEventProcessor.java
+++ /dev/null
@@ -1,1500 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.omrs.localrepository.repositoryconnector;
-
-import org.apache.atlas.ocf.properties.Connection;
-import org.apache.atlas.omrs.auditlog.OMRSAuditCode;
-import org.apache.atlas.omrs.auditlog.OMRSAuditLog;
-import org.apache.atlas.omrs.auditlog.OMRSAuditingComponent;
-import org.apache.atlas.omrs.eventmanagement.*;
-import org.apache.atlas.omrs.eventmanagement.events.OMRSInstanceEventProcessor;
-import org.apache.atlas.omrs.ffdc.OMRSErrorCode;
-import org.apache.atlas.omrs.ffdc.exception.*;
-import
org.apache.atlas.omrs.localrepository.repositorycontentmanager.OMRSRepositoryHelper;
-import
org.apache.atlas.omrs.localrepository.repositorycontentmanager.OMRSRepositoryValidator;
-import org.apache.atlas.omrs.metadatacollection.OMRSMetadataCollection;
-import
org.apache.atlas.omrs.metadatacollection.properties.instances.EntityDetail;
-import
org.apache.atlas.omrs.metadatacollection.properties.instances.InstanceProvenanceType;
-import
org.apache.atlas.omrs.metadatacollection.properties.instances.InstanceType;
-import
org.apache.atlas.omrs.metadatacollection.properties.instances.Relationship;
-import
org.apache.atlas.omrs.metadatacollection.properties.typedefs.TypeDefSummary;
-import
org.apache.atlas.omrs.metadatacollection.repositoryconnector.OMRSRepositoryConnector;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- * LocalOMRSInstanceEventProcessor processes incoming metadata instance events
that describe changes to the
- * entities and relationships in other repositories in the connected cohorts.
- * It uses the save exchange rule to decide which events to process and which
to ignore.
- * Events that are to be processed are converted into reference copies of
their respective entities and
- * relationships and stored in the local repository.
- */
-public class LocalOMRSInstanceEventProcessor implements
OMRSInstanceEventProcessor, OMRSInstanceRetrievalEventProcessor
-{
- private String localMetadataCollectionId;
- private String localServerName;
- private OMRSRepositoryConnector realLocalConnector;
- private OMRSRepositoryHelper repositoryHelper;
- private OMRSRepositoryValidator repositoryValidator;
- private OMRSRepositoryEventExchangeRule saveExchangeRule;
- private String realRepositoryName = "Local
Repository";
- private OMRSMetadataCollection realMetadataCollection = null;
- private OMRSRepositoryEventProcessor outboundRepositoryEventProcessor =
null;
-
-
-
- /*
- * The audit log provides a verifiable record of the open metadata
archives that have been loaded into
- * the open metadata repository. The Logger is for standard debug.
- */
- private static final OMRSAuditLog auditLog = new
OMRSAuditLog(OMRSAuditingComponent.INSTANCE_EVENT_PROCESSOR);
- private static final Logger log =
LoggerFactory.getLogger(LocalOMRSInstanceEventProcessor.class);
-
-
- /**
- * Constructor saves all of the information necessary to process incoming
instance events. It is intolerant
- * of nulls in any of its parameters and will throw a logic error
exception is it finds any.
- *
- * @param localMetadataCollectionId - local metadata collection identifier
- * @param localServerName - name of the local server - for
logging
- * @param realLocalConnector - connector to the real local
repository
- * @param repositoryHelper - helper class for building instances
- * @param repositoryValidator - helper class for validating instances
- * @param saveExchangeRule - rule that determines which events to
process.
- */
- LocalOMRSInstanceEventProcessor(String
localMetadataCollectionId,
- String
localServerName,
- OMRSRepositoryConnector
realLocalConnector,
- OMRSRepositoryHelper
repositoryHelper,
- OMRSRepositoryValidator
repositoryValidator,
- OMRSRepositoryEventExchangeRule
saveExchangeRule,
- OMRSRepositoryEventProcessor
outboundRepositoryEventProcessor)
- {
- final String methodName = "LocalOMRSInstanceEventProcessor
constructor";
-
- this.localMetadataCollectionId = localMetadataCollectionId;
- this.localServerName = localServerName;
- this.realLocalConnector = realLocalConnector;
- this.repositoryHelper = repositoryHelper;
- this.repositoryValidator = repositoryValidator;
- this.saveExchangeRule = saveExchangeRule;
-
- if (realLocalConnector != null)
- {
- try
- {
- this.realMetadataCollection =
realLocalConnector.getMetadataCollection();
- }
- catch (Throwable error)
- {
- /*
- * Nothing to do - will be logged in verifyEventProcessor
- */
- this.realMetadataCollection = null;
- }
- }
-
- this.verifyEventProcessor(methodName);
-
- Connection connection = this.realLocalConnector.getConnection();
- if (connection != null)
- {
- this.realRepositoryName = connection.getConnectionName();
- }
- }
-
-
- /*
- * ====================================
- * OMRSInstanceEventProcessor
- */
-
-
- /**
- * A new entity has been created.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the new entity
- */
- public void processNewEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processNewEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * An existing entity has been updated.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the new version of
the entity.
- */
- public void processUpdatedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processUpdatedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * An update to an entity has been undone.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the version of the
entity that has been restored.
- */
- public void processUndoneEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processUndoneEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * A new classification has been added to an entity.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the entity with the
new classification added.
- */
- public void processClassifiedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processClassifiedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * A classification has been removed from an entity.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the entity after the
classification has been removed.
- */
- public void processDeclassifiedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processDeclassifiedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * An existing classification has been changed on an entity.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the entity after the
classification has been changed.
- */
- public void processReclassifiedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processReclassifiedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * An existing entity has been deleted. This is a soft delete. This means
it is still in the repository
- * but it is no longer returned on queries.
- * <p>
- * All relationships to the entity are also soft-deleted and will no
longer be usable. These deleted relationships
- * will be notified through separate events.
- * <p>
- * Details of the TypeDef are included with the entity's unique id (guid)
to ensure the right entity is deleted in
- * the remote repositories.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - deleted entity
- */
- public void processDeletedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processDeletedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * A deleted entity has been permanently removed from the repository.
This request can not be undone.
- * <p>
- * Details of the TypeDef are included with the entity's unique id (guid)
to ensure the right entity is purged in
- * the remote repositories.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param typeDefGUID - unique identifier for this
entity's TypeDef
- * @param typeDefName - name of this entity's TypeDef
- * @param instanceGUID - unique identifier for the entity
- */
- public void processPurgedEntityEvent(String sourceName,
- String originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String originatorOrganizationName,
- String typeDefGUID,
- String typeDefName,
- String instanceGUID)
- {
- final String methodName = "processPurgedEntityEvent";
-
- purgeReferenceInstance(sourceName,
- methodName,
- originatorMetadataCollectionId,
- originatorServerName,
- typeDefGUID,
- typeDefName,
- instanceGUID);
- }
-
-
- /**
- * A deleted entity has been restored to the state it was before it was
deleted.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the version of the
entity that has been restored.
- */
- public void processRestoredEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processRestoredEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * The guid of an existing entity has been changed to a new value. This
is used if two different
- * entities are discovered to have the same guid. This is extremely
unlikely but not impossible so
- * the open metadata protocol has provision for this.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param originalEntityGUID - the existing identifier for the
entity.
- * @param entity - new values for this entity,
including the new guid.
- */
- public void processReIdentifiedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- String originalEntityGUID,
- EntityDetail entity)
- {
- final String methodName = "processReIdentifiedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * An existing entity has had its type changed. Typically this action is
taken to move an entity's
- * type to either a super type (so the subtype can be deleted) or a new
subtype (so additional properties can be
- * added.) However, the type can be changed to any compatible type.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param originalTypeDefSummary - original details of this
entity's TypeDef.
- * @param entity - new values for this entity,
including the new type information.
- */
- public void processReTypedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- TypeDefSummary
originalTypeDefSummary,
- EntityDetail entity)
- {
- final String methodName = "processReTypedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * An existing entity has changed home repository. This action is taken
for example, if a repository
- * becomes permanently unavailable, or if the user community updating this
entity move to working
- * from a different repository in the open metadata repository cluster.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event
mapper name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param originalHomeMetadataCollectionId - unique identifier for the
original home repository.
- * @param entity - new values for this entity,
including the new home information.
- */
- public void processReHomedEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- String
originalHomeMetadataCollectionId,
- EntityDetail entity)
- {
- final String methodName = "processReHomedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * The local repository is requesting that an entity from another
repository's metadata collection is
- * refreshed so the local repository can create a reference copy.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param typeDefGUID - - unique identifier for this
entity's TypeDef
- * @param typeDefName - name of this entity's TypeDef
- * @param instanceGUID - unique identifier for the entity
- * @param homeMetadataCollectionId - metadata collection id for the
home of this instance.
- */
- public void processRefreshEntityRequested(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- String typeDefGUID,
- String typeDefName,
- String instanceGUID,
- String homeMetadataCollectionId)
- {
- final String methodName = "processRefreshEntityRequested";
-
- try
- {
- verifyEventProcessor(methodName);
-
- realMetadataCollection.refreshEntityReferenceCopy(sourceName,
- instanceGUID,
- typeDefGUID,
- typeDefName,
-
originatorMetadataCollectionId);
-
- }
- catch (Throwable error)
- {
- OMRSAuditCode auditCode =
OMRSAuditCode.UNEXPECTED_EXCEPTION_FROM_EVENT;
- auditLog.logRecord(methodName,
- auditCode.getLogMessageId(),
- auditCode.getSeverity(),
- auditCode.getFormattedLogMessage(methodName,
-
originatorServerName,
-
originatorMetadataCollectionId,
-
error.getMessage()),
- null,
- auditCode.getSystemAction(),
- auditCode.getUserAction());
- }
- }
-
-
- /**
- * A remote repository in the cohort has sent entity details in response
to a refresh request.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param entity - details of the requested entity
- */
- public void processRefreshEntityEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- EntityDetail entity)
- {
- final String methodName = "processReHomedEntityEvent";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- entity);
- }
-
-
- /**
- * A new relationship has been created.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param relationship - details of the new relationship
- */
- public void processNewRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- Relationship relationship)
- {
- final String methodName = "processNewRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * An existing relationship has been updated.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param relationship - details of the new version of
the relationship.
- */
- public void processUpdatedRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- Relationship relationship)
- {
- final String methodName = "processUpdatedRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * An update to a relationship has been undone.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param relationship - details of the version of the
relationship that has been restored.
- */
- public void processUndoneRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- Relationship relationship)
- {
- final String methodName = "processUndoneRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * An existing relationship has been deleted. This is a soft delete. This
means it is still in the repository
- * but it is no longer returned on queries.
- * <p>
- * Details of the TypeDef are included with the relationship's unique id
(guid) to ensure the right
- * relationship is deleted in the remote repositories.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param relationship - deleted relationship
- */
- public void processDeletedRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- Relationship relationship)
- {
- final String methodName = "processDeletedRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * A deleted relationship has been permanently removed from the
repository. This request can not be undone.
- * <p>
- * Details of the TypeDef are included with the relationship's unique id
(guid) to ensure the right
- * relationship is purged in the remote repositories.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param typeDefGUID - unique identifier for this
relationship's TypeDef.
- * @param typeDefName - name of this relationship's
TypeDef.
- * @param instanceGUID - unique identifier for the
relationship.
- */
- public void processPurgedRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- String typeDefGUID,
- String typeDefName,
- String instanceGUID)
- {
- final String methodName = "processPurgedRelationshipEvent";
-
- purgeReferenceInstance(sourceName,
- methodName,
- originatorMetadataCollectionId,
- originatorServerName,
- typeDefGUID,
- typeDefName,
- instanceGUID);
- }
-
-
- /**
- * A deleted relationship has been restored to the state it was before it
was deleted.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param relationship - details of the version of the
relationship that has been restored.
- */
- public void processRestoredRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- Relationship relationship)
- {
- final String methodName = "processRestoredRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * The guid of an existing relationship has changed. This is used if two
different
- * relationships are discovered to have the same guid. This is extremely
unlikely but not impossible so
- * the open metadata protocol has provision for this.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param originalRelationshipGUID - the existing identifier for the
relationship.
- * @param relationship - new values for this
relationship, including the new guid.
- */
- public void processReIdentifiedRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- String
originalRelationshipGUID,
- Relationship relationship)
- {
- final String methodName = "processReIdentifiedRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * An existing relationship has had its type changed. Typically this
action is taken to move a relationship's
- * type to either a super type (so the subtype can be deleted) or a new
subtype (so additional properties can be
- * added.) However, the type can be changed to any compatible type.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param originalTypeDefSummary - original details of this
relationship's TypeDef.
- * @param relationship - new values for this
relationship, including the new type information.
- */
- public void processReTypedRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- TypeDefSummary
originalTypeDefSummary,
- Relationship relationship)
- {
- final String methodName = "processReTypedRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * An existing relationship has changed home repository. This action is
taken for example, if a repository
- * becomes permanently unavailable, or if the user community updating this
relationship move to working
- * from a different repository in the open metadata repository cluster.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param originalHomeMetadataCollection - unique identifier for the
original home repository.
- * @param relationship - new values for this
relationship, including the new home information.
- */
- public void processReHomedRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- String
originalHomeMetadataCollection,
- Relationship relationship)
- {
- final String methodName = "processReHomedRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * A repository has requested the home repository of a relationship send
details of the relationship so
- * the local repository can create a reference copy of the instance.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param typeDefGUID - unique identifier for this
instance's TypeDef
- * @param typeDefName - name of this relationship's
TypeDef
- * @param instanceGUID - unique identifier for the
instance
- * @param homeMetadataCollectionId - metadata collection id for the
home of this instance.
- */
- public void processRefreshRelationshipRequest(String sourceName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- String originatorServerType,
- String
originatorOrganizationName,
- String typeDefGUID,
- String typeDefName,
- String instanceGUID,
- String
homeMetadataCollectionId)
- {
- final String methodName = "processRefreshRelationshipRequest";
-
- try
- {
- verifyEventProcessor(methodName);
-
- realMetadataCollection.refreshRelationshipReferenceCopy(sourceName,
-
instanceGUID,
-
typeDefGUID,
-
typeDefName,
-
originatorMetadataCollectionId);
-
- }
- catch (Throwable error)
- {
- OMRSAuditCode auditCode =
OMRSAuditCode.UNEXPECTED_EXCEPTION_FROM_EVENT;
- auditLog.logRecord(methodName,
- auditCode.getLogMessageId(),
- auditCode.getSeverity(),
- auditCode.getFormattedLogMessage(methodName,
-
originatorServerName,
-
originatorMetadataCollectionId,
-
error.getMessage()),
- null,
- auditCode.getSystemAction(),
- auditCode.getUserAction());
- }
- }
-
-
- /**
- * The local repository is refreshing the information about a relationship
for the other
- * repositories in the cohort.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param relationship - relationship details
- */
- public void processRefreshRelationshipEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- Relationship relationship)
- {
- final String methodName = "processRefreshRelationshipEvent";
- final String entityParameterName = "relationship";
-
- updateReferenceRelationship(sourceName,
- methodName,
- entityParameterName,
- originatorMetadataCollectionId,
- originatorServerName,
- relationship);
- }
-
-
- /**
- * An open metadata repository has detected two metadata instances with
the same identifier (guid).
- * This is a serious error because it could lead to corruption of the
metadata collections within the cohort.
- * When this occurs, all repositories in the cohort delete their reference
copies of the metadata instances and
- * at least one of the instances has its GUID changed in its respective
home repository. The updated instance(s)
- * are redistributed around the cohort.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - metadata collection id of the
repository reporting the conflicting instance
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param targetMetadataCollectionId - metadata collection id of other
repository with the conflicting instance
- * @param targetTypeDefSummary - details of the target
instance's TypeDef
- * @param targetInstanceGUID - unique identifier for the
source instance
- * @param otherOrigin - origin of the other (older)
metadata instance
- * @param otherMetadataCollectionId - metadata collection of the
other (older) metadata instance
- * @param otherTypeDefSummary - details of the other (older)
instance's TypeDef
- * @param otherInstanceGUID - unique identifier for the other
(older) instance
- * @param errorMessage - description of the error.
- */
- public void processConflictingInstancesEvent(String
sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- String
targetMetadataCollectionId,
- TypeDefSummary
targetTypeDefSummary,
- String
targetInstanceGUID,
- String
otherMetadataCollectionId,
- InstanceProvenanceType
otherOrigin,
- TypeDefSummary
otherTypeDefSummary,
- String
otherInstanceGUID,
- String
errorMessage)
- {
-
- }
-
-
- /**
- * An open metadata repository has detected an inconsistency in the
version of the type used in an updated metadata
- * instance compared to its stored version.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param originatorMetadataCollectionId - metadata collection id of the
repository reporting the conflicting instance
- * @param originatorServerName - name of the server that the
event came from.
- * @param originatorServerType - type of server that the event
came from.
- * @param originatorOrganizationName - name of the organization that
owns the server that sent the event.
- * @param targetMetadataCollectionId - metadata collection id of other
repository with the conflicting instance
- * @param targetTypeDefSummary - details of the target
instance's TypeDef
- * @param targetInstanceGUID - unique identifier for the
source instance
- * @param otherTypeDefSummary - details of the local copy of
the instance's TypeDef
- * @param errorMessage - description of the error.
- */
- public void processConflictingTypeEvent(String sourceName,
- String
originatorMetadataCollectionId,
- String
originatorServerName,
- String
originatorServerType,
- String
originatorOrganizationName,
- String
targetMetadataCollectionId,
- TypeDefSummary
targetTypeDefSummary,
- String targetInstanceGUID,
- TypeDefSummary otherTypeDefSummary,
- String errorMessage)
- {
-
- }
-
-
- /*
- * =======================
- * OMRSInstanceRetrievalEventProcessor
- */
-
-
- /**
- * Pass an entity that has been retrieved from a remote open metadata
repository so it can be validated and
- * (if the rules permit) cached in the local repository.
- *
- * @param sourceName - name of the source of this event.
- * @param metadataCollectionId - unique identifier for the metadata from
the remote repository
- * @param entity - the retrieved entity.
- * @return Validated and processed entity.
- */
- public EntityDetail processRetrievedEntity(String sourceName,
- String
metadataCollectionId,
- EntityDetail entity)
- {
- EntityDetail processedEntity = new EntityDetail(entity);
-
- processedEntity.setMetadataCollectionId(metadataCollectionId);
-
- final String methodName = "processRetrievedEntity";
- final String entityParameterName = "entity";
-
- updateReferenceEntity(sourceName,
- methodName,
- entityParameterName,
- metadataCollectionId,
- localServerName,
- entity);
- return entity;
- }
-
-
- /**
- * Pass a list of entities that have been retrieved from a remote open
metadata repository so they can be
- * validated and (if the rules permit) cached in the local repository.
- *
- * @param sourceName - name of the source of this event.
- * @param metadataCollectionId - unique identifier for the metadata from
the remote repository
- * @param entities - the retrieved relationships
- * @return the validated and processed relationships
- */
- public List<EntityDetail> processRetrievedEntities(String
sourceName,
- String
metadataCollectionId,
- List<EntityDetail>
entities)
- {
- List<EntityDetail> processedEntities = new ArrayList<>();
-
- for (EntityDetail entity : entities)
- {
- EntityDetail processedEntity =
this.processRetrievedEntity(sourceName, metadataCollectionId, entity);
-
- if (processedEntity != null)
- {
- processedEntities.add(processedEntity);
- }
- }
-
- return processedEntities;
- }
-
-
- /**
- * Pass a relationship that has been retrieved from a remote open metadata
repository so it can be validated and
- * (if the rules permit) cached in the local repository.
- *
- * @param sourceName - name of the source of this event.
- * @param metadataCollectionId - unique identifier for the metadata from
the remote repository
- * @param relationship - the retrieved relationship
- * @return the validated and processed relationship
- */
- public Relationship processRetrievedRelationship(String sourceName,
- String
metadataCollectionId,
- Relationship relationship)
- {
- Relationship processedRelationship = new Relationship(relationship);
-
- /*
- * Ensure the metadata collection is set up correctly.
- */
- if (processedRelationship.getMetadataCollectionId() == null)
- {
-
processedRelationship.setMetadataCollectionId(metadataCollectionId);
- }
-
-
- /*
- * Discover whether the instance should be learned.
- */
- if (saveExchangeRule.learnInstanceEvent(processedRelationship))
- {
- try
- {
- if (realMetadataCollection.isRelationshipKnown(sourceName,
processedRelationship.getGUID()) == null)
- {
- InstanceType type = processedRelationship.getType();
-
- if (type != null)
- {
- /*
- * It would be possible to save the relationship
directly into the repository,
- * but it is possible that some of the properties have
been suppressed for the
- * requesting user Id. In which case saving it now
would result in other users
- * seeing a restricted view of the
- */
-
realMetadataCollection.refreshRelationshipReferenceCopy(localServerName,
-
processedRelationship.getGUID(),
-
type.getTypeDefGUID(),
-
type.getTypeDefName(),
-
metadataCollectionId);
- }
- }
- }
- catch (Throwable error)
- {
- final String methodName = "processRetrievedRelationship";
-
- OMRSAuditCode auditCode =
OMRSAuditCode.UNEXPECTED_EXCEPTION_FROM_EVENT;
- auditLog.logRecord(methodName,
- auditCode.getLogMessageId(),
- auditCode.getSeverity(),
- auditCode.getFormattedLogMessage(methodName,
- sourceName,
-
metadataCollectionId,
-
error.getMessage()),
- null,
- auditCode.getSystemAction(),
- auditCode.getUserAction());
- }
- }
-
- return processedRelationship;
- }
-
-
- /**
- * Pass a list of relationships that have been retrieved from a remote
open metadata repository so they can be
- * validated and (if the rules permit) cached in the local repository.
- *
- * @param sourceName - name of the source of this event.
- * @param metadataCollectionId - unique identifier for the metadata from
the remote repository
- * @param relationships - the list of retrieved relationships
- * @return the validated and processed relationships
- */
- public List<Relationship> processRetrievedRelationships(String
sourceName,
- String
metadataCollectionId,
- List<Relationship>
relationships)
- {
- List<Relationship> processedRelationships = new ArrayList<>();
-
- for (Relationship relationship : relationships)
- {
- Relationship processedRelationship =
this.processRetrievedRelationship(sourceName,
-
metadataCollectionId,
-
relationship);
-
- if (processedRelationship != null)
- {
- processedRelationships.add(processedRelationship);
- }
- }
-
- return processedRelationships;
- }
-
-
- /*
- * ==============================
- * Private methods
- * ==============================
- */
-
-
- /**
- * Update the reference entity in the local repository.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param methodName - name of the event method
- * @param entityParameterName - name of the parameter that
passed the entity.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param entity - details of the new entity
- */
- private void updateReferenceEntity(String sourceName,
- String methodName,
- String entityParameterName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- EntityDetail entity)
- {
- try
- {
- verifyEventProcessor(methodName);
-
repositoryValidator.validateReferenceInstanceHeader(realRepositoryName,
-
localMetadataCollectionId,
-
entityParameterName,
- entity,
- methodName);
-
- if (saveExchangeRule.processInstanceEvent(entity))
- {
- realMetadataCollection.saveEntityReferenceCopy(sourceName,
entity);
- }
- }
- catch (Throwable error)
- {
- OMRSAuditCode auditCode =
OMRSAuditCode.UNEXPECTED_EXCEPTION_FROM_EVENT;
- auditLog.logRecord(methodName,
- auditCode.getLogMessageId(),
- auditCode.getSeverity(),
- auditCode.getFormattedLogMessage(methodName,
-
originatorServerName,
-
originatorMetadataCollectionId,
-
error.getMessage()),
- null,
- auditCode.getSystemAction(),
- auditCode.getUserAction());
- }
- }
-
-
- /**
- * Update the reference relationship in the local repository.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param methodName - name of the event method
- * @param entityParameterName - name of the parameter that
passed the relationship.
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param relationship - details of the relationship
- */
- private void updateReferenceRelationship(String sourceName,
- String methodName,
- String entityParameterName,
- String
originatorMetadataCollectionId,
- String originatorServerName,
- Relationship relationship)
- {
- try
- {
- verifyEventProcessor(methodName);
-
repositoryValidator.validateReferenceInstanceHeader(realRepositoryName,
-
localMetadataCollectionId,
-
entityParameterName,
- relationship,
- methodName);
-
- if (saveExchangeRule.processInstanceEvent(relationship))
- {
-
realMetadataCollection.saveRelationshipReferenceCopy(sourceName, relationship);
- }
- }
- catch (Throwable error)
- {
- OMRSAuditCode auditCode =
OMRSAuditCode.UNEXPECTED_EXCEPTION_FROM_EVENT;
- auditLog.logRecord(methodName,
- auditCode.getLogMessageId(),
- auditCode.getSeverity(),
- auditCode.getFormattedLogMessage(methodName,
-
originatorServerName,
-
originatorMetadataCollectionId,
-
error.getMessage()),
- null,
- auditCode.getSystemAction(),
- auditCode.getUserAction());
- }
- }
-
-
- /**
- * Purge a reference copy of an instance from the repository.
- *
- * @param sourceName - name of the source of the
event. It may be the cohort name for incoming events or the
- * local repository, or event mapper
name.
- * @param methodName - name of the purge method
- * @param originatorMetadataCollectionId - unique identifier for the
metadata collection hosted by the server that
- * sent the event.
- * @param originatorServerName - name of the server that the
event came from.
- * @param typeDefGUID - unique identifier for this
entity's TypeDef
- * @param typeDefName - name of this entity's TypeDef
- * @param instanceGUID - unique identifier for the entity
- */
- private void purgeReferenceInstance(String sourceName,
- String methodName,
- String originatorMetadataCollectionId,
- String originatorServerName,
- String typeDefGUID,
- String typeDefName,
- String instanceGUID)
- {
- try
- {
- verifyEventProcessor(methodName);
-
- realMetadataCollection.purgeEntityReferenceCopy(sourceName,
- instanceGUID,
- typeDefGUID,
- typeDefName,
-
originatorMetadataCollectionId);
-
- }
- catch (Throwable error)
- {
- OMRSAuditCode auditCode =
OMRSAuditCode.UNEXPECTED_EXCEPTION_FROM_EVENT;
- auditLog.logRecord(methodName,
- auditCode.getLogMessageId(),
- auditCode.getSeverity(),
- auditCode.getFormattedLogMessage(methodName,
-
originatorServerName,
-
originatorMetadataCollectionId,
-
error.getMessage()),
- null,
- auditCode.getSystemAction(),
- auditCode.getUserAction());
- }
- }
-
- /**
- * Validate that this event processor is correctly initialized.
- *
- * @param methodName - name of the method being called
- */
- private void verifyEventProcessor(String methodName)
- {
- if (localMetadataCollectionId == null)
- {
- OMRSErrorCode errorCode =
OMRSErrorCode.NULL_LOCAL_METADATA_COLLECTION;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage();
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
-
- if (realLocalConnector == null)
- {
- OMRSErrorCode errorCode = OMRSErrorCode.NO_LOCAL_REPOSITORY;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage();
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
-
- if (realMetadataCollection == null)
- {
- OMRSErrorCode errorCode =
OMRSErrorCode.NULL_LOCAL_METADATA_COLLECTION;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage();
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
-
- if (repositoryHelper ==null)
- {
- OMRSErrorCode errorCode = OMRSErrorCode.NULL_REPOSITORY_HELPER;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage();
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
-
- if (repositoryValidator == null)
- {
- OMRSErrorCode errorCode =
OMRSErrorCode.NULL_REPOSITORY_VALIDATOR;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage();
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
-
- if (saveExchangeRule == null)
- {
- OMRSErrorCode errorCode = OMRSErrorCode.NULL_EXCHANGE_RULE;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage(methodName);
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
-
- if (realMetadataCollection == null)
- {
- OMRSErrorCode errorCode = OMRSErrorCode.NULL_METADATA_COLLECTION;
- String errorMessage = errorCode.getErrorMessageId() +
errorCode.getFormattedErrorMessage(realRepositoryName);
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
- }
-}