http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSRepositoryContentManager.java
----------------------------------------------------------------------
diff --git 
a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSRepositoryContentManager.java
 
b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSRepositoryContentManager.java
deleted file mode 100644
index 8f8e50c..0000000
--- 
a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSRepositoryContentManager.java
+++ /dev/null
@@ -1,2357 +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.repositorycontentmanager;
-
-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.OMRSTypeDefEventProcessor;
-import org.apache.atlas.omrs.ffdc.OMRSErrorCode;
-import org.apache.atlas.omrs.ffdc.exception.*;
-import 
org.apache.atlas.omrs.localrepository.repositoryconnector.LocalOMRSRepositoryConnector;
-import org.apache.atlas.omrs.metadatacollection.OMRSMetadataCollection;
-import 
org.apache.atlas.omrs.metadatacollection.properties.instances.InstanceStatus;
-import 
org.apache.atlas.omrs.metadatacollection.properties.instances.InstanceType;
-import org.apache.atlas.omrs.metadatacollection.properties.typedefs.*;
-import 
org.apache.atlas.omrs.metadatacollection.repositoryconnector.OMRSRepositoryConnector;
-import org.apache.atlas.omrs.rest.server.OMRSRepositoryRESTServices;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-
-/**
- * OMRSRepositoryContentManager supports an in-memory cache of TypeDefs for 
the local server.  It is used by the OMRS
- * components for constructing metadata instances with valid types.   It 
ensures that the TypeDefs used in other
- * members of the open metadata repository cohorts that the local server is 
also a member of are consistent with the
- * local repository.
- *
- * OMRSRepositoryContentManager plays a central role in ensuring the integrity 
of the metadata in the local repository.
- * It is called from multiple components at different points in the 
processing.  It presents a different interface
- * to each of these components that is specialized to their needs.
- * <ul>
- *     <li>
- *         OMRSTypeDefEventProcessor - processes inbound events from remote 
members of the open metadata
- *         repository cohorts that the local repository is connected to.  
These incoming TypeDef events need to
- *         be validated against the types used locally and either saved or 
discarded depending on the exchange rule
- *         setting.
- *     </li>
- *     <li>
- *         OMRSTypeDefManager - provides maintenance methods for managing the 
TypeDefs in the local cache.
- *     </li>
- *     <li>
- *         OMRSTypeDefHelper - provides methods to help OMRS connectors and 
adapters manage TypeDefs.
- *     </li>
- *     <li>
- *         OMRSTypeDefValidator - provides methods to validate TypeDefs.
- *     </li>
- *     <li>
- *         OMRSInstanceValidator - provides methods to help validate instances.
- *     </li>
- * </ul>
- */
-public class OMRSRepositoryContentManager implements OMRSTypeDefEventProcessor,
-                                                     OMRSTypeDefManager,
-                                                     OMRSTypeDefHelper,
-                                                     OMRSTypeDefValidator
-{
-    private LocalOMRSRepositoryConnector      localRepositoryConnector       = 
null;
-    private OMRSRepositoryEventManager        outboundRepositoryEventManager = 
null;
-    private OMRSRepositoryConnector           realLocalConnector             = 
null;
-    private OMRSRepositoryEventExchangeRule   saveExchangeRule               = 
null;
-    private String                            openTypesOriginGUID            = 
null;
-    private HashMap<String, TypeDef>          knownTypeDefGUIDs              = 
new HashMap<>();
-    private HashMap<String, TypeDef>          knownTypeDefNames              = 
new HashMap<>();
-    private HashMap<String, AttributeTypeDef> knownAttributeTypeDefGUIDs     = 
new HashMap<>();
-    private HashMap<String, AttributeTypeDef> knownAttributeTypeDefNames     = 
new HashMap<>();
-    private HashMap<String, TypeDef>          activeTypeDefGUIDs             = 
new HashMap<>();
-    private HashMap<String, TypeDef>          activeTypeDefNames             = 
new HashMap<>();
-    private HashMap<String, AttributeTypeDef> activeAttributeTypeDefGUIDs    = 
new HashMap<>();
-    private HashMap<String, AttributeTypeDef> activeAttributeTypeDefNames    = 
new HashMap<>();
-
-
-    /*
-     * 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.TYPEDEF_MANAGER);
-    private static final Logger       log      = 
LoggerFactory.getLogger(OMRSRepositoryContentManager.class);
-
-
-
-    /**
-     * Default constructor
-     */
-    public OMRSRepositoryContentManager()
-    {
-
-    }
-
-
-    /**
-     * Saves all of the information necessary to process incoming TypeDef 
events.
-     *
-     * @param localRepositoryConnector - connector to the local repository
-     * @param realLocalConnector - connector to the real local repository - 
used for processing TypeDef events
-     * @param saveExchangeRule - rule that determines which events to process.
-     * @param outboundRepositoryEventManager - event manager to call for 
outbound events - used to send out reports
-     *                                       of conflicting TypeDefs
-     */
-    public void setupEventProcessor(LocalOMRSRepositoryConnector      
localRepositoryConnector,
-                                    OMRSRepositoryConnector           
realLocalConnector,
-                                    OMRSRepositoryEventExchangeRule   
saveExchangeRule,
-                                    OMRSRepositoryEventManager        
outboundRepositoryEventManager)
-    {
-        this.localRepositoryConnector = localRepositoryConnector;
-        this.realLocalConnector = realLocalConnector;
-        this.saveExchangeRule = saveExchangeRule;
-        this.outboundRepositoryEventManager = outboundRepositoryEventManager;
-    }
-
-
-    /**
-     * Save the unique identifier of the open metadata archive.  This is 
stored in the origin property of
-     * all of the open metadata types.  It is needed to support the 
isOpenType() method.
-     *
-     * @param openMetadataTypesGUID - unique identifier for the open metadata 
type's archive
-     */
-    public void setOpenMetadataTypesOriginGUID(String openMetadataTypesGUID)
-    {
-        openTypesOriginGUID = openMetadataTypesGUID;
-    }
-
-
-    /*
-     * ========================
-     * OMRSTypeDefManager
-     */
-
-    /**
-     * Cache a definition of a new TypeDef.  This method assumes the TypeDef 
has been successfully added to the
-     * local repository already and all that is needed is to maintain the 
cached list of types
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param newTypeDef - TypeDef structure describing the new TypeDef.
-     */
-    public void addTypeDef(String  sourceName, TypeDef      newTypeDef)
-    {
-        if (this.validTypeDef(sourceName, newTypeDef))
-        {
-            knownTypeDefGUIDs.put(newTypeDef.getGUID(), newTypeDef);
-            knownTypeDefNames.put(newTypeDef.getName(), newTypeDef);
-
-            if (localRepositoryConnector != null)
-            {
-                activeTypeDefGUIDs.put(newTypeDef.getGUID(), newTypeDef);
-                activeTypeDefNames.put(newTypeDef.getName(), newTypeDef);
-
-                if (log.isDebugEnabled())
-                {
-                    log.debug("New Active Type " + newTypeDef.getName() + " 
from " + sourceName, newTypeDef);
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Cache a definition of a new AttributeTypeDef.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param newAttributeTypeDef - AttributeTypeDef structure describing the 
new TypeDef.
-     */
-    public void addAttributeTypeDef(String  sourceName, AttributeTypeDef 
newAttributeTypeDef)
-    {
-        if (this.validAttributeTypeDef(sourceName, newAttributeTypeDef))
-        {
-            knownAttributeTypeDefGUIDs.put(newAttributeTypeDef.getGUID(), 
newAttributeTypeDef);
-            knownAttributeTypeDefNames.put(newAttributeTypeDef.getName(), 
newAttributeTypeDef);
-
-            if (localRepositoryConnector != null)
-            {
-                activeAttributeTypeDefGUIDs.put(newAttributeTypeDef.getGUID(), 
newAttributeTypeDef);
-                activeAttributeTypeDefNames.put(newAttributeTypeDef.getName(), 
newAttributeTypeDef);
-
-                if (log.isDebugEnabled())
-                {
-                    log.debug("New Active Attribute Type " + 
newAttributeTypeDef.getName() + " from " + sourceName, newAttributeTypeDef);
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Update one or more properties of a cached TypeDef.  This method assumes 
the TypeDef has been successfully
-     * updated in the local repository already and all that is needed is to 
maintain the cached list of types
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeDef - TypeDef structure.
-     */
-    public void updateTypeDef(String  sourceName, TypeDef   typeDef)
-    {
-        if (this.validTypeDef(sourceName, typeDef))
-        {
-            knownTypeDefGUIDs.put(typeDef.getGUID(), typeDef);
-            knownTypeDefNames.put(typeDef.getName(), typeDef);
-
-            if (localRepositoryConnector != null)
-            {
-                activeTypeDefGUIDs.put(typeDef.getGUID(), typeDef);
-                activeTypeDefNames.put(typeDef.getName(), typeDef);
-
-                if (log.isDebugEnabled())
-                {
-                    log.debug("Updated Active Type " + typeDef.getName() + " 
from " + sourceName, typeDef);
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Delete a cached TypeDef.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param obsoleteTypeDefGUID - String unique identifier for the TypeDef.
-     * @param obsoleteTypeDefName - String unique name for the TypeDef.
-     */
-    public void deleteTypeDef(String    sourceName,
-                              String    obsoleteTypeDefGUID,
-                              String    obsoleteTypeDefName)
-    {
-        if (this.validTypeId(sourceName, obsoleteTypeDefGUID, 
obsoleteTypeDefName))
-        {
-            knownTypeDefGUIDs.remove(obsoleteTypeDefGUID);
-            knownTypeDefNames.remove(obsoleteTypeDefName);
-
-            if (localRepositoryConnector != null)
-            {
-                activeTypeDefGUIDs.remove(obsoleteTypeDefGUID);
-                activeTypeDefNames.remove(obsoleteTypeDefName);
-
-                if (log.isDebugEnabled())
-                {
-                    log.debug("Deleted Active TypeDef " + obsoleteTypeDefName 
+ " from " + sourceName);
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Delete a cached AttributeTypeDef.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param obsoleteAttributeTypeDefGUID - String unique identifier for the 
AttributeTypeDef.
-     * @param obsoleteAttributeTypeDefName - String unique name for the 
AttributeTypeDef.
-     */
-    public void deleteAttributeTypeDef(String    sourceName,
-                                       String    obsoleteAttributeTypeDefGUID,
-                                       String    obsoleteAttributeTypeDefName)
-    {
-        if (this.validTypeId(sourceName, obsoleteAttributeTypeDefGUID, 
obsoleteAttributeTypeDefName))
-        {
-            knownAttributeTypeDefGUIDs.remove(obsoleteAttributeTypeDefGUID);
-            knownAttributeTypeDefNames.remove(obsoleteAttributeTypeDefName);
-
-            if (localRepositoryConnector != null)
-            {
-                
activeAttributeTypeDefGUIDs.remove(obsoleteAttributeTypeDefGUID);
-                
activeAttributeTypeDefNames.remove(obsoleteAttributeTypeDefName);
-
-                if (log.isDebugEnabled())
-                {
-                    log.debug("Deleted Active AttributeTypeDef " + 
obsoleteAttributeTypeDefName + " from " + sourceName);
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Change the identifiers for a TypeDef.
-     *
-     * @param sourceName - source of the request (used for logging).
-     * @param originalTypeDefGUID - TypeDef's original unique identifier.
-     * @param originalTypeDefName - TypeDef's original unique name.
-     * @param newTypeDef - updated TypeDef with new identifiers.
-     */
-    public void reIdentifyTypeDef(String   sourceName,
-                                  String   originalTypeDefGUID,
-                                  String   originalTypeDefName,
-                                  TypeDef  newTypeDef)
-    {
-        this.deleteTypeDef(sourceName, originalTypeDefGUID, 
originalTypeDefName);
-        this.addTypeDef(sourceName, newTypeDef);
-    }
-
-
-    /**
-     * Change the identifiers for an AttributeTypeDef.
-     *
-     * @param sourceName - source of the request (used for logging).
-     * @param originalAttributeTypeDefGUID - AttributeTypeDef's original 
unique identifier.
-     * @param originalAttributeTypeDefName - AttributeTypeDef's original 
unique name.
-     * @param newAttributeTypeDef - updated AttributeTypeDef with new 
identifiers
-     */
-    public void reIdentifyAttributeTypeDef(String            sourceName,
-                                           String            
originalAttributeTypeDefGUID,
-                                           String            
originalAttributeTypeDefName,
-                                           AttributeTypeDef  
newAttributeTypeDef)
-    {
-        this.deleteAttributeTypeDef(sourceName, originalAttributeTypeDefGUID, 
originalAttributeTypeDefName);
-        this.addAttributeTypeDef(sourceName, newAttributeTypeDef);
-    }
-
-
-    /**
-     * Return the list of property names defined for this TypeDef.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeDef - type definition to work with.
-     * @return list of String property names
-     * @throws TypeErrorException - there is an issue with the TypeDef.
-     */
-    private List<String>  getPropertyNames(String sourceName, TypeDef   
typeDef) throws TypeErrorException
-    {
-        final  String                  methodName = "getPropertyNames()";
-        List<String>              propertyNames = null;
-
-        if (validTypeDef(sourceName, typeDef))
-        {
-            List<TypeDefAttribute>    propertiesDefinition = 
typeDef.getPropertiesDefinition();
-
-            if ((propertiesDefinition != null) && (propertiesDefinition.size() 
> 0))
-            {
-                propertyNames = new ArrayList<>();
-
-                for (TypeDefAttribute  propertyDefinition : 
propertiesDefinition)
-                {
-                    if (propertyDefinition != null)
-                    {
-                        String propertyName = 
propertyDefinition.getAttributeName();
-
-                        if (propertyName != null)
-                        {
-                            if (log.isDebugEnabled())
-                            {
-                                log.debug(typeDef.getName()  + " from " + 
sourceName + " has property " + propertyName);
-                            }
-                            propertyNames.add(propertyName);
-                        }
-                        else
-                        {
-                            OMRSErrorCode errorCode = 
OMRSErrorCode.BAD_TYPEDEF_ATTRIBUTE_NAME;
-                            String errorMessage = errorCode.getErrorMessageId()
-                                                + 
errorCode.getFormattedErrorMessage(sourceName);
-
-                            throw new 
TypeErrorException(errorCode.getHTTPErrorCode(),
-                                                         
this.getClass().getName(),
-                                                         methodName,
-                                                         errorMessage,
-                                                         
errorCode.getSystemAction(),
-                                                         
errorCode.getUserAction());
-                        }
-                    }
-                    else
-                    {
-                        OMRSErrorCode errorCode = 
OMRSErrorCode.NULL_TYPEDEF_ATTRIBUTE;
-                        String errorMessage = errorCode.getErrorMessageId()
-                                            + 
errorCode.getFormattedErrorMessage(sourceName);
-
-                        throw new 
TypeErrorException(errorCode.getHTTPErrorCode(),
-                                                     this.getClass().getName(),
-                                                     methodName,
-                                                     errorMessage,
-                                                     
errorCode.getSystemAction(),
-                                                     
errorCode.getUserAction());
-                    }
-                }
-
-                /*
-                 * If no property names have been extracted then remove the 
array.
-                 */
-                if (propertyNames.size() == 0)
-                {
-                    propertyNames = null;
-                }
-            }
-        }
-        else
-        {
-            OMRSErrorCode errorCode = OMRSErrorCode.BAD_TYPEDEF;
-            String errorMessage = errorCode.getErrorMessageId()
-                                + 
errorCode.getFormattedErrorMessage(sourceName);
-
-            throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                         this.getClass().getName(),
-                                         methodName,
-                                         errorMessage,
-                                         errorCode.getSystemAction(),
-                                         errorCode.getUserAction());
-        }
-
-        return propertyNames;
-    }
-
-
-    /**
-     * Return identifiers for the TypeDef that matches the supplied type name. 
 If the type name is not recognized,
-     * null is returned.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param category - category of the instance type required.
-     * @param typeName - String type name.
-     * @param methodName - name of calling method.
-     * @return InstanceType object containing TypeDef properties such as 
unique identifier (guid),
-     *                             typeDef name and version name
-     * @throws TypeErrorException - the type name is not a recognized type or 
is of the wrong category or there is
-     *                              a problem with the cached TypeDef.
-     */
-    public InstanceType getInstanceType(String           sourceName,
-                                        TypeDefCategory  category,
-                                        String           typeName,
-                                        String           methodName) throws 
TypeErrorException
-    {
-        final String thisMethodName = "getInstanceType";
-
-        if (isValidTypeCategory(sourceName, category, typeName, methodName))
-        {
-            TypeDef typeDef = knownTypeDefNames.get(typeName);
-
-            if (typeDef != null)
-            {
-                InstanceType    instanceType = new InstanceType();
-
-                instanceType.setTypeDefCategory(category);
-                instanceType.setTypeDefGUID(typeDef.getGUID());
-                instanceType.setTypeDefName(typeDef.getName());
-                instanceType.setTypeDefVersion(typeDef.getVersion());
-                instanceType.setTypeDefDescription(typeDef.getDescription());
-                
instanceType.setTypeDefDescriptionGUID(typeDef.getDescriptionGUID());
-
-                /*
-                 * Extract the properties for this TypeDef.  These will be 
augmented with property names
-                 * from the super type(s).
-                 */
-                List<String>      propertyNames = 
this.getPropertyNames(sourceName, typeDef);
-
-                /*
-                 * If propertyNames is null, it means the TypeDef has no 
attributes.  However the superType
-                 * may have attributes and so we need an array to accumulate 
the attributes into.
-                 */
-                if (propertyNames == null)
-                {
-                    propertyNames = new ArrayList<>();
-                }
-
-                /*
-                 * Work up the TypeDef hierarchy extracting the property names 
and super type names.
-                 */
-                List<TypeDefLink>      superTypes    = new ArrayList<>();
-                TypeDefLink            superTypeLink = typeDef.getSuperType();
-
-                while (superTypeLink != null)
-                {
-                    String             superTypeName = superTypeLink.getName();
-
-                    if (superTypeName != null)
-                    {
-                        if (log.isDebugEnabled())
-                        {
-                            log.debug(typeName + " from " + sourceName + " has 
super type " + superTypeName);
-                        }
-
-                        /*
-                         * Save the name of the super type into the instance 
type
-                         */
-                        superTypes.add(superTypeLink);
-
-                        /*
-                         * Retrieve the TypeDef for this super type
-                         */
-                        TypeDef         superTypeDef  = 
knownTypeDefNames.get(superTypeName);
-
-                        if (superTypeDef != null)
-                        {
-                            List<String>      superTypePropertyNames = 
this.getPropertyNames(sourceName, superTypeDef);
-
-                            if (superTypePropertyNames != null)
-                            {
-                                propertyNames.addAll(0, 
superTypePropertyNames);
-                            }
-
-                            /*
-                             * Retrieve the super type for this typeDef.  It 
will be null if the type is top-level.
-                             */
-                            superTypeLink = superTypeDef.getSuperType();
-                        }
-                        else
-                        {
-                            /*
-                             * Super type not known so stop processing
-                             */
-                            log.error(superTypeName + " is not known");
-                            throwContentManagerLogicError(sourceName, 
methodName, thisMethodName);
-                        }
-                    }
-                    else
-                    {
-                        /*
-                         * Super type is invalid - corrupted cache
-                         */
-                        log.error("Corrupted TypeDef cache");
-                        throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-                    }
-                }
-
-                /*
-                 * Make sure empty lists are converted to nulls
-                 */
-
-                if (superTypes.size() > 0)
-                {
-                    instanceType.setTypeDefSuperTypes(superTypes);
-                }
-
-                if (propertyNames.size() > 0)
-                {
-                    instanceType.setValidInstanceProperties(propertyNames);
-                }
-
-                return instanceType;
-            }
-            else
-            {
-                log.error("TypeDef " + typeName + " already validated");
-                throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-            }
-        }
-        else
-        {
-            OMRSErrorCode errorCode = 
OMRSErrorCode.BAD_CATEGORY_FOR_TYPEDEF_ATTRIBUTE;
-            String errorMessage = errorCode.getErrorMessageId()
-                                + 
errorCode.getFormattedErrorMessage(sourceName, typeName, 
category.getTypeName());
-
-            throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                         this.getClass().getName(),
-                                         methodName,
-                                         errorMessage,
-                                         errorCode.getSystemAction(),
-                                         errorCode.getUserAction());
-        }
-
-        return null;
-    }
-
-
-    /**
-     * Return a boolean indicating that the type name matches the category.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param category - TypeDefCategory enum value to test
-     * @param typeName - type name to test
-     * @return - boolean flag indicating that the type name is of the 
specified category
-     * @throws TypeErrorException - the type name is not a recognized type or 
there is
-     *                              a problem with the cached TypeDef.
-     */
-    public boolean    isValidTypeCategory(String            sourceName,
-                                          TypeDefCategory   category,
-                                          String            typeName,
-                                          String            methodName) throws 
TypeErrorException
-    {
-        final String  thisMethodName = "isValidTypeCategory";
-
-        if (category == null)
-        {
-            throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-            return false;
-        }
-
-        if (typeName == null)
-        {
-            throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-            return false;
-        }
-
-        TypeDef   typeDef = knownTypeDefNames.get(typeName);
-
-        if (typeDef != null)
-        {
-            TypeDefCategory  retrievedTypeDefCategory = typeDef.getCategory();
-
-            if (retrievedTypeDefCategory != null)
-            {
-                return (category.getTypeCode() == 
retrievedTypeDefCategory.getTypeCode());
-            }
-            else
-            {
-                throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-            }
-        }
-        else
-        {
-            OMRSErrorCode errorCode = 
OMRSErrorCode.TYPEDEF_NOT_KNOWN_FOR_INSTANCE;
-            String errorMessage = errorCode.getErrorMessageId()
-                    + errorCode.getFormattedErrorMessage(typeName,
-                                                         
category.getTypeName(),
-                                                         methodName,
-                                                         sourceName);
-
-            throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                         this.getClass().getName(),
-                                         methodName,
-                                         errorMessage,
-                                         errorCode.getSystemAction(),
-                                         errorCode.getUserAction());
-        }
-
-        return false;
-    }
-
-
-    /**
-     * Return boolean indicating if a classification type can be applied to a 
specified entity.  This
-     * uses the list of valid entity types located in the ClassificationDef.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param classificationTypeName - name of the classification's type 
(ClassificationDef)
-     * @param entityTypeName - name of the entity's type (EntityDef)
-     * @param methodName - name of calling method.
-     * @return boolean indicating if the classification is valid for the 
entity.
-     */
-    public boolean    isValidClassificationForEntity(String  sourceName,
-                                                     String  
classificationTypeName,
-                                                     String  entityTypeName,
-                                                     String  methodName)
-    {
-        final String  thisMethodName = "isValidClassificationForEntity";
-
-        try
-        {
-            if ((isValidTypeCategory(sourceName, 
TypeDefCategory.CLASSIFICATION_DEF, classificationTypeName, methodName)) &&
-                (isValidTypeCategory(sourceName, TypeDefCategory.ENTITY_DEF, 
entityTypeName, methodName)))
-            {
-                ClassificationDef  classificationTypeDef = (ClassificationDef) 
knownTypeDefNames.get(classificationTypeName);
-
-                if (classificationTypeDef != null)
-                {
-                    List<TypeDefLink>   entityDefs = 
classificationTypeDef.getValidEntityDefs();
-
-                    if (entityDefs == null)
-                    {
-                        /*
-                         * The classification has no restrictions on which 
entities it can be attached to.
-                         */
-                        return true;
-                    }
-                    else
-                    {
-                        /*
-                         * The classification can only be attached to the 
entities listed.  Note an empty list
-                         * means the classification can not be attached to any 
entity and it is effectively useless.
-                         */
-                        for (TypeDefLink  allowedEntity : entityDefs)
-                        {
-                            if (allowedEntity != null)
-                            {
-                                if 
(entityTypeName.equals(allowedEntity.getName()))
-                                {
-                                    return true;
-                                }
-                            }
-                        }
-
-                        return false;
-                    }
-                }
-                else
-                {
-                    throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-                    return false;
-                }
-            }
-            else
-            {
-                return false;
-            }
-        }
-        catch (TypeErrorException   typeError)
-        {
-            throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-            return false;
-        }
-        catch (ClassCastException   castError)
-        {
-            throwContentManagerLogicError(sourceName, methodName, 
thisMethodName);
-            return false;
-        }
-    }
-
-
-    /**
-     * Return the requested type.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeName - name of the type
-     * @param thisMethodName - name of calling method.
-     * @param originalMethodName - name of original calling method.
-     * @return list of InstanceStatus enums
-     * @throws TypeErrorException - the type name is not recognized.
-     */
-    private TypeDef getTypeDefFromCache(String  sourceName,
-                                        String  typeName,
-                                        String  thisMethodName,
-                                        String  originalMethodName) throws 
TypeErrorException
-    {
-        if (typeName == null)
-        {
-            this.throwContentManagerLogicError(sourceName, thisMethodName, 
originalMethodName);
-        }
-
-        TypeDef   typeDef = knownTypeDefNames.get(typeName);
-
-        if (typeDef == null)
-        {
-            OMRSErrorCode errorCode = OMRSErrorCode.TYPEDEF_NAME_NOT_KNOWN;
-            String errorMessage = errorCode.getErrorMessageId()
-                                + errorCode.getFormattedErrorMessage(typeName, 
originalMethodName, sourceName);
-
-            throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                         this.getClass().getName(),
-                                         originalMethodName,
-                                         errorMessage,
-                                         errorCode.getSystemAction(),
-                                         errorCode.getUserAction());
-        }
-
-        return typeDef;
-    }
-
-
-    /**
-     * Return the list of valid InstanceStatus states that instances of this 
type can handle.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeName - name of the type
-     * @param methodName - name of calling method.
-     * @return list of InstanceStatus enums
-     * @throws TypeErrorException - the type name is not recognized.
-     */
-    public List<InstanceStatus> getValidStatusList(String  sourceName,
-                                                   String  typeName,
-                                                   String  methodName) throws 
TypeErrorException
-    {
-        final String thisMethodName = "validStatusList";
-
-        TypeDef   typeDef = this.getTypeDefFromCache(sourceName, typeName, 
thisMethodName, methodName);
-
-        return typeDef.getValidInstanceStatusList();
-    }
-
-
-    /**
-     * Return the initial status value to use for an instance of the supplied 
type.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeName - name of the type to extract the initial status from.
-     * @param methodName - calling method
-     * @return InstanceStatus enum
-     * @throws TypeErrorException - the type name is not recognized.
-     */
-    public InstanceStatus getInitialStatus(String sourceName,
-                                           String typeName,
-                                           String methodName) throws 
TypeErrorException
-    {
-        final String thisMethodName = "getInitialStatus";
-
-        TypeDef   typeDef = this.getTypeDefFromCache(sourceName, typeName, 
thisMethodName, methodName);
-
-        return typeDef.getInitialStatus();
-    }
-
-
-    /**
-     * Return the URL string to use for direct access to the metadata instance.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param guid - unique identifier for the instance.
-     * @return String URL with placeholder for variables such as userId.
-     */
-    public String getEntityURL(String  sourceName, String guid)
-    {
-        return OMRSRepositoryRESTServices.getEntityURL(guid);
-    }
-
-
-    /**
-     * Return the URL string to use for direct access to the metadata instance.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param guid - unique identifier for the instance.
-     * @return String URL with placeholder for variables such as userId.
-     */
-    public String getRelationshipURL(String  sourceName, String guid)
-    {
-        return OMRSRepositoryRESTServices.getRelationshipURL(guid);
-    }
-
-
-    /*
-     * ========================
-     * OMRSTypeDefHelper
-     */
-
-
-    /**
-     * Return the list of typedefs known by the local repository.
-     *
-     * @return TypeDef gallery
-     */
-    public TypeDefGallery   getActiveTypeDefGallery()
-    {
-        TypeDefGallery               typeDefGallery               = new 
TypeDefGallery();
-
-        if (! activeAttributeTypeDefNames.isEmpty())
-        {
-            typeDefGallery.setAttributeTypeDefs(new 
ArrayList<>(activeAttributeTypeDefNames.values()));
-        }
-
-        if (! activeTypeDefNames.isEmpty())
-        {
-            typeDefGallery.setTypeDefs(new 
ArrayList<>(activeTypeDefNames.values()));
-        }
-
-        return typeDefGallery;
-    }
-
-
-    /**
-     * Return the list of typedefs known by the local repository.
-     *
-     * @return TypeDef gallery
-     */
-    public TypeDefGallery   getKnownTypeDefGallery()
-    {
-        TypeDefGallery               typeDefGallery               = new 
TypeDefGallery();
-
-        if (! knownAttributeTypeDefNames.isEmpty())
-        {
-            typeDefGallery.setAttributeTypeDefs(new 
ArrayList<>(knownAttributeTypeDefNames.values()));
-        }
-
-        if (! knownTypeDefNames.isEmpty())
-        {
-            typeDefGallery.setTypeDefs(new 
ArrayList<>(knownTypeDefNames.values()));
-        }
-
-        return typeDefGallery;
-    }
-
-
-    /**
-     * Return the TypeDef identified by the name supplied by the caller.  This 
is used in the connectors when
-     * validating the actual types of the repository with the known open 
metadata types - looking specifically
-     * for types of the same name but with different content.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeDefName - unique name for the TypeDef
-     * @return TypeDef object or null if TypeDef is not known.
-     */
-    public TypeDef  getTypeDefByName (String    sourceName,
-                                      String    typeDefName)
-    {
-        return knownTypeDefNames.get(typeDefName);
-    }
-
-
-    /**
-     * Return the AttributeTypeDef identified by the name supplied by the 
caller.  This is used in the connectors when
-     * validating the actual types of the repository with the known open 
metadata types - looking specifically
-     * for types of the same name but with different content.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param attributeTypeDefName - unique name for the TypeDef
-     * @return AttributeTypeDef object or null if AttributeTypeDef is not 
known.
-     */
-    public AttributeTypeDef getAttributeTypeDefByName (String    sourceName,
-                                                       String    
attributeTypeDefName)
-    {
-        return knownAttributeTypeDefNames.get(attributeTypeDefName);
-    }
-
-
-    /**
-     * Return the TypeDefs identified by the name supplied by the caller.  The 
TypeDef name may have wild
-     * card characters in it which is why the results are returned in a list.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeDefName - unique name for the TypeDef
-     * @return TypeDef object or null if TypeDef is not known.
-     */
-    public TypeDefGallery getActiveTypesByWildCardName (String    sourceName,
-                                                        String    typeDefName)
-    {
-        if (typeDefName != null)
-        {
-            Collection<TypeDef>   typeDefs       = activeTypeDefNames.values();
-
-            List<TypeDef>         matchedTypeDefs = new ArrayList<>();
-            for (TypeDef typeDef : typeDefs)
-            {
-                if (typeDef != null)
-                {
-                    if (typeDef.getName().matches(typeDefName))
-                    {
-                        matchedTypeDefs.add(typeDef);
-                    }
-                }
-            }
-
-            Collection<AttributeTypeDef>   attributeTypeDefs        = 
activeAttributeTypeDefNames.values();
-            List<AttributeTypeDef>         matchedAttributeTypeDefs = new 
ArrayList<>();
-
-            for (AttributeTypeDef attributeTypeDef : attributeTypeDefs)
-            {
-                if (attributeTypeDef != null)
-                {
-                    if (attributeTypeDef.getName().matches(typeDefName))
-                    {
-                        matchedAttributeTypeDefs.add(attributeTypeDef);
-                    }
-                }
-            }
-
-            if ((! matchedTypeDefs.isEmpty()) || (! 
matchedAttributeTypeDefs.isEmpty()))
-            {
-                TypeDefGallery        typeDefGallery = new TypeDefGallery();
-
-                if (! matchedTypeDefs.isEmpty())
-                {
-                    typeDefGallery.setTypeDefs(matchedTypeDefs);
-                }
-                else
-                {
-                    typeDefGallery.setTypeDefs(null);
-                }
-
-                if (! matchedAttributeTypeDefs.isEmpty())
-                {
-                    
typeDefGallery.setAttributeTypeDefs(matchedAttributeTypeDefs);
-                }
-                else
-                {
-                    typeDefGallery.setAttributeTypeDefs(null);
-                }
-
-                return typeDefGallery;
-            }
-        }
-
-        return null;
-    }
-
-
-    /**
-     * Return the TypeDef identified by the guid supplied by the caller.  This 
call is used when
-     * retrieving a type that only the guid is known.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeDefGUID - unique identifier for the TypeDef
-     * @param methodName - calling method
-     * @return TypeDef object
-     * @throws TypeErrorException - unknown or invalid type
-     */
-    public TypeDef  getTypeDef (String    sourceName,
-                                String    guidParameterName,
-                                String    typeDefGUID,
-                                String    methodName) throws TypeErrorException
-    {
-        final String thisMethodName = "getTypeDef";
-
-        if (typeDefGUID != null)
-        {
-            TypeDef typeDef = knownTypeDefGUIDs.get(typeDefGUID);
-
-            if (typeDef == null)
-            {
-                OMRSErrorCode errorCode = OMRSErrorCode.TYPEDEF_ID_NOT_KNOWN;
-                String errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(typeDefGUID,
-                                                                               
                          guidParameterName,
-                                                                               
                          methodName,
-                                                                               
                          sourceName);
-
-                throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                             this.getClass().getName(),
-                                             methodName,
-                                             errorMessage,
-                                             errorCode.getSystemAction(),
-                                             errorCode.getUserAction());
-            }
-
-            return typeDef;
-        }
-
-        throwContentManagerLogicError(sourceName, methodName, thisMethodName);
-        return null;
-    }
-
-
-    /**
-     * Return the AttributeTypeDef identified by the guid and name supplied by 
the caller.  This call is used when
-     * retrieving a type that only the guid is known.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param attributeTypeDefGUID - unique identifier for the AttributeTypeDef
-     * @param methodName - calling method
-     * @return TypeDef object
-     * @throws TypeErrorException - unknown or invalid type
-     */
-    public AttributeTypeDef  getAttributeTypeDef (String    sourceName,
-                                                  String    
attributeTypeDefGUID,
-                                                  String    methodName) throws 
TypeErrorException
-    {
-        final String thisMethodName = "getAttributeTypeDef";
-
-        if (attributeTypeDefGUID != null)
-        {
-            AttributeTypeDef attributeTypeDef = 
knownAttributeTypeDefGUIDs.get(attributeTypeDefGUID);
-
-            if (attributeTypeDef == null)
-            {
-                OMRSErrorCode errorCode = OMRSErrorCode.BAD_TYPEDEF;
-                String errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(sourceName);
-
-                throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                             this.getClass().getName(),
-                                             methodName,
-                                             errorMessage,
-                                             errorCode.getSystemAction(),
-                                             errorCode.getUserAction());
-            }
-
-            return attributeTypeDef;
-        }
-
-        throwContentManagerLogicError(sourceName, methodName, thisMethodName);
-        return null;
-    }
-
-    /**
-     * Return the TypeDef identified by the guid and name supplied by the 
caller.  This call is used when
-     * retrieving a type that should exist.  For example, retrieving the type 
of a metadata instance.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeDefGUID - unique identifier for the TypeDef
-     * @param typeDefName - unique name for the TypeDef
-     * @param methodName - calling method
-     * @return TypeDef object or null if the
-     * @throws TypeErrorException - invalid type
-     */
-    public TypeDef  getTypeDef (String    sourceName,
-                                String    guidParameterName,
-                                String    nameParameterName,
-                                String    typeDefGUID,
-                                String    typeDefName,
-                                String    methodName) throws TypeErrorException
-    {
-        if (validTypeId(sourceName, typeDefGUID, typeDefName))
-        {
-            return knownTypeDefNames.get(typeDefName);
-        }
-        else
-        {
-            OMRSErrorCode errorCode = OMRSErrorCode.BAD_TYPEDEF;
-            String errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(sourceName);
-
-            throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                         this.getClass().getName(),
-                                         methodName,
-                                         errorMessage,
-                                         errorCode.getSystemAction(),
-                                         errorCode.getUserAction());
-        }
-    }
-
-
-    /**
-     * Return the AttributeTypeDef identified by the guid and name supplied by 
the caller.  This call is used when
-     * retrieving a type that should exist.  For example, retrieving the type 
definition of a metadata instance's
-     * property.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param attributeTypeDefGUID - unique identifier for the AttributeTypeDef
-     * @param attributeTypeDefName - unique name for the AttributeTypeDef
-     * @param methodName - calling method
-     * @return TypeDef object
-     * @throws TypeErrorException - unknown or invalid type
-     */
-    public  AttributeTypeDef  getAttributeTypeDef (String    sourceName,
-                                                   String    
attributeTypeDefGUID,
-                                                   String    
attributeTypeDefName,
-                                                   String    methodName) 
throws TypeErrorException
-    {
-        if (validTypeId(sourceName, attributeTypeDefGUID, 
attributeTypeDefName))
-        {
-            return knownAttributeTypeDefNames.get(attributeTypeDefName);
-        }
-        else
-        {
-            OMRSErrorCode errorCode = OMRSErrorCode.BAD_TYPEDEF;
-            String errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(sourceName);
-
-            throw new TypeErrorException(errorCode.getHTTPErrorCode(),
-                                         this.getClass().getName(),
-                                         methodName,
-                                         errorMessage,
-                                         errorCode.getSystemAction(),
-                                         errorCode.getUserAction());
-        }
-    }
-
-
-    /*
-     * =======================
-     * OMRSTypeDefValidator
-     */
-
-
-    /**
-     * Return a boolean flag indicating whether the list of TypeDefs passed 
are compatible with the
-     * all known typedefs.
-     *
-     * A valid TypeDef is one that matches name, GUID and version to the full 
list of TypeDefs.
-     * If a new TypeDef is present, it is added to the enterprise list.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeDefs - list of TypeDefs.
-     * @throws RepositoryErrorException - a conflicting or invalid TypeDef has 
been returned
-     */
-    public void   validateEnterpriseTypeDefs(String        sourceName,
-                                             List<TypeDef> typeDefs,
-                                             String        methodName) throws 
RepositoryErrorException
-    {
-        for (TypeDef typeDef : typeDefs)
-        {
-            if (validTypeId(sourceName, typeDef.getGUID(), typeDef.getName()))
-            {
-                if (!isKnownType(sourceName, typeDef.getGUID(), 
typeDef.getName()))
-                {
-                    knownTypeDefNames.put(typeDef.getName(), typeDef);
-                }
-            }
-            else
-            {
-                OMRSErrorCode errorCode    = 
OMRSErrorCode.CONFLICTING_ENTERPRISE_TYPEDEFS;
-                String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage();
-
-                throw new 
RepositoryErrorException(errorCode.getHTTPErrorCode(),
-                                                   this.getClass().getName(),
-                                                   methodName,
-                                                   errorMessage,
-                                                   errorCode.getSystemAction(),
-                                                   errorCode.getUserAction());
-            }
-        }
-    }
-
-
-    /**
-     * Return a boolean flag indicating whether the list of TypeDefs passed 
are compatible with the
-     * all known typedefs.
-     *
-     * A valid TypeDef is one that matches name, GUID and version to the full 
list of TypeDefs.
-     * If a new TypeDef is present, it is added to the enterprise list.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param attributeTypeDefs - list of AttributeTypeDefs.
-     * @throws RepositoryErrorException - a conflicting or invalid 
AttributeTypeDef has been returned
-     */
-    public void   validateEnterpriseAttributeTypeDefs(String                 
sourceName,
-                                                      List<AttributeTypeDef> 
attributeTypeDefs,
-                                                      String                 
methodName) throws RepositoryErrorException
-    {
-        for (AttributeTypeDef attributeTypeDef : attributeTypeDefs)
-        {
-            if (validTypeId(sourceName, attributeTypeDef.getGUID(), 
attributeTypeDef.getName()))
-            {
-                if (!isKnownType(sourceName, attributeTypeDef.getGUID(), 
attributeTypeDef.getName()))
-                {
-                    knownAttributeTypeDefNames.put(attributeTypeDef.getName(), 
attributeTypeDef);
-                }
-            }
-            else
-            {
-                OMRSErrorCode errorCode    = 
OMRSErrorCode.CONFLICTING_ENTERPRISE_TYPEDEFS;
-                String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage();
-
-                throw new 
RepositoryErrorException(errorCode.getHTTPErrorCode(),
-                                                   this.getClass().getName(),
-                                                   methodName,
-                                                   errorMessage,
-                                                   errorCode.getSystemAction(),
-                                                   errorCode.getUserAction());
-            }
-        }
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef is one of the standard 
open metadata types.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeGUID - unique identifier of the type
-     * @param typeName - unique name of the type
-     * @return boolean result
-     */
-    public boolean isOpenType(String sourceName, String typeGUID, String 
typeName)
-    {
-        if (validTypeId(sourceName, typeGUID, typeName))
-        {
-            TypeDef typeDef = knownTypeDefNames.get(typeName);
-
-            if (typeDef == null)
-            {
-                return false;
-            }
-
-            if (openTypesOriginGUID != null)
-            {
-                if (openTypesOriginGUID.equals(typeDef.getOrigin()))
-                {
-                    log.debug("TypeDef " + typeName + " (GUID = " + typeGUID + 
") from " + sourceName + " is an open type");
-                    return true;
-                }
-                else
-                {
-                    log.debug("TypeDef " + typeName + " (GUID = " + typeGUID + 
") from " + sourceName + " is NOT an open type");
-                }
-            }
-        }
-
-        return false;
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef is one of the standard 
open metadata types.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeGUID - unique identifier of the type
-     * @return boolean result
-     */
-    public boolean isOpenTypeId(String  sourceName, String   typeGUID)
-    {
-        if (typeGUID != null)
-        {
-            TypeDef typeDef = knownTypeDefGUIDs.get(typeGUID);
-            if (typeDef != null)
-            {
-                String originGUID = typeDef.getOrigin();
-
-                if (originGUID != null)
-                {
-                    if (originGUID.equals(openTypesOriginGUID))
-                    {
-                        return true;
-                    }
-                }
-            }
-        }
-
-        return false;
-    }
-
-
-    /**
-     * Return boolean indicating whether the (AttributeTypeDef/TypeDef is 
known, either as an open type, or one defined
-     * by one or more of the members of the cohort.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeGUID - unique identifier of the type
-     * @param typeName - unique name of the type
-     * @return boolean result
-     */
-    public boolean isKnownType(String sourceName, String typeGUID, String 
typeName)
-    {
-        if (this.validTypeId(sourceName, typeGUID, typeName))
-        {
-            TypeDef  typeDef = knownTypeDefNames.get(typeName);
-
-            if (typeDef == null)
-            {
-                AttributeTypeDef  attributeTypeDef = 
knownAttributeTypeDefNames.get(typeName);
-
-                if (attributeTypeDef == null)
-                {
-                    log.debug("Unknown (Attribute)TypeDef " + typeName + " 
(GUID = " + typeGUID + ") from " + sourceName);
-                    return false;
-                }
-                else
-                {
-                    log.debug("Known AttributeTypeDef " + typeName + " (GUID = 
" + typeGUID + ") from " + sourceName);
-                    return true;
-                }
-            }
-            else
-            {
-                log.debug("Known TypeDef " + typeName + " (GUID = " + typeGUID 
+ ") from " + sourceName);
-                return true;
-            }
-        }
-        else
-        {
-            log.error("Invalid TypeDef  from " + sourceName + " so can not 
validate known type");
-
-            return false;
-        }
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef/AttributeTypeDef is 
known, either as an open type, or one defined
-     * by one or more of the members of the cohort.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeGUID - unique identifier of the type
-     * @return boolean result
-     */
-    public boolean isKnownTypeId(String  sourceName, String   typeGUID)
-    {
-        if (typeGUID != null)
-        {
-            if (knownTypeDefGUIDs.get(typeGUID) != null)
-            {
-                return true;
-            }
-
-            if (knownAttributeTypeDefGUIDs.get(typeGUID) != null)
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef is in use in the 
repository.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeGUID - unique identifier of the type
-     * @param typeName - unique name of the type
-     * @return boolean result
-     */
-    public boolean isActiveType(String sourceName, String typeGUID, String 
typeName)
-    {
-        if (this.validTypeId(sourceName, typeGUID, typeName))
-        {
-            TypeDef  typeDef = activeTypeDefNames.get(typeName);
-
-            if (typeDef == null)
-            {
-                AttributeTypeDef  attributeTypeDef = 
activeAttributeTypeDefNames.get(typeName);
-
-                if (attributeTypeDef == null)
-                {
-                    log.debug("Inactive (Attribute)TypeDef " + typeName + " 
(GUID = " + typeGUID + ") from " + sourceName);
-                    return false;
-                }
-                else
-                {
-                    log.debug("Active AttributeTypeDef " + typeName + " (GUID 
= " + typeGUID + ") from " + sourceName);
-                    return true;
-                }
-            }
-            else
-            {
-                log.debug("Active TypeDef " + typeName + " (GUID = " + 
typeGUID + ") from " + sourceName);
-                return true;
-            }
-        }
-        else
-        {
-            log.error("Invalid TypeDef  from " + sourceName + " so can not 
validate active type");
-
-            return false;
-        }
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef/AttributeTypeDef is in 
use in the local repository.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param typeGUID - unique identifier of the type
-     * @return boolean result
-     */
-    public boolean isActiveTypeId(String  sourceName, String   typeGUID)
-    {
-        if (typeGUID != null)
-        {
-            if (activeTypeDefGUIDs.get(typeGUID) != null)
-            {
-                return true;
-            }
-
-            if (activeAttributeTypeDefGUIDs.get(typeGUID) != null)
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Return boolean indicating whether the (Attribute)TypeDef identifiers 
are valid or not.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeGUID - unique identifier of the TypeDef
-     * @param typeName - unique name of the TypeDef
-     * @return boolean result
-     */
-    public boolean validTypeId(String          sourceName,
-                               String typeGUID,
-                               String typeName)
-    {
-        if (typeName == null)
-        {
-            /*
-             * A null TypeDef name is invalid
-             */
-            log.error("Null TypeDef Name from " + sourceName);
-
-            return false;
-        }
-
-        if (typeGUID == null)
-        {
-            /*
-             * A null guid is invalid
-             */
-            log.error("Null TypeDef GUID from " + sourceName);
-
-            return false;
-        }
-
-        TypeDef typeDef = knownTypeDefNames.get(typeName);
-
-        if (typeDef == null)
-        {
-            /*
-             * This TypeDef is unknown so see if it is an AttributeTypeDef
-             */
-            AttributeTypeDef   attributeTypeDef = 
knownAttributeTypeDefNames.get(typeName);
-
-            if (attributeTypeDef == null)
-            {
-                log.debug("Unknown (Attribute)TypeDef from " + sourceName);
-            }
-            else
-            {
-                if (!typeGUID.equals(attributeTypeDef.getGUID()))
-                {
-                    /*
-                     * The requested guid does not equal the stored one.
-                     */
-                    log.error("GUID Mismatch in AttributeTypeDef " + typeName 
+ " from " + sourceName + " received GUID is " + typeGUID + "; stored GUID is " 
+ attributeTypeDef.getGUID());
-                    return false;
-                }
-
-                log.debug("Valid AttributeTypeDef from " + sourceName);
-                return true;
-            }
-
-            log.debug("Valid AttributeTypeDef from " + sourceName);
-            return true;
-        }
-
-        if (! typeGUID.equals(typeDef.getGUID()))
-        {
-            /*
-             * The requested guid does not equal the stored one.
-             */
-            log.error("GUID Mismatch in TypeDef " + typeName + " from " + 
sourceName + " received GUID is " + typeGUID + "; stored GUID is " + 
typeDef.getGUID());
-
-            return false;
-        }
-
-        return true;
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef identifiers are valid or 
not.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeDefGUID - unique identifier of the TypeDef
-     * @param typeDefName - unique name of the TypeDef
-     * @return boolean result
-     */
-    public boolean validTypeDefId(String          sourceName,
-                                  String          typeDefGUID,
-                                  String          typeDefName,
-                                  TypeDefCategory category)
-    {
-        if (! validTypeId(sourceName, typeDefGUID, typeDefName))
-        {
-            return false;
-        }
-
-        TypeDef          typeDef = knownTypeDefNames.get(typeDefName);
-
-        if (typeDef != null)
-        {
-            TypeDefCategory knownTypeDefCategory = typeDef.getCategory();
-
-            if (knownTypeDefCategory == null)
-            {
-                log.error("Unknown TypeDef Category for " + typeDefName + " 
(GUID = " + typeDefGUID + ") from " + sourceName);
-                return false;
-            }
-
-            if (category.getTypeCode() != knownTypeDefCategory.getTypeCode())
-            {
-                log.error("TypeDef category mismatch for TypeDef " + 
typeDefName + " (GUID = " + typeDefGUID + ") from "
-                                  + sourceName + " received version number is 
" + category.getTypeDescription()
-                                  + " and stored category is " + 
knownTypeDefCategory.getTypeDescription());
-
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-
-    /**
-     * Return boolean indicating whether the AttributeTypeDef identifiers are 
from a single known type or not.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param attributeTypeDefGUID - unique identifier of the AttributeTypeDef
-     * @param attributeTypeDefName - unique name of the AttributeTypeDef
-     * @param category - category for the AttributeTypeDef
-     * @return boolean result
-     */
-    public boolean validAttributeTypeDefId(String                   sourceName,
-                                           String                   
attributeTypeDefGUID,
-                                           String                   
attributeTypeDefName,
-                                           AttributeTypeDefCategory category)
-    {
-        if (! validTypeId(sourceName, attributeTypeDefGUID, 
attributeTypeDefName))
-        {
-            return false;
-        }
-
-        AttributeTypeDef          attributeTypeDef = 
knownAttributeTypeDefNames.get(attributeTypeDefName);
-
-        if (attributeTypeDef != null)
-        {
-            AttributeTypeDefCategory knownAttributeTypeDefCategory = 
attributeTypeDef.getCategory();
-
-            if (knownAttributeTypeDefCategory == null)
-            {
-                log.error("Unknown AttributeTypeDef Category for " + 
attributeTypeDefName + " (GUID = " + attributeTypeDefGUID + ") from " + 
sourceName);
-                return false;
-            }
-
-            if (category.getTypeCode() != 
knownAttributeTypeDefCategory.getTypeCode())
-            {
-                log.error("TypeDef category mismatch for TypeDef " + 
attributeTypeDefName + " (GUID = " + attributeTypeDefGUID + ") from "
-                                  + sourceName + " received version number is 
" + category.getTypeDescription()
-                                  + " and stored category is " + 
knownAttributeTypeDefCategory.getTypeDescription());
-
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef identifiers are valid or 
not.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeDefGUID - unique identifier of the TypeDef
-     * @param typeDefName - unique name of the TypeDef
-     * @param typeDefVersion - version of the type
-     * @param typeDefCategory - category of the instance described by this 
TypeDef.
-     * @return boolean result
-     */
-    public boolean validTypeDefId(String          sourceName,
-                                  String          typeDefGUID,
-                                  String          typeDefName,
-                                  long            typeDefVersion,
-                                  TypeDefCategory typeDefCategory)
-    {
-        if (! validTypeDefId(sourceName, typeDefGUID, typeDefName, 
typeDefCategory))
-        {
-            return false;
-        }
-
-        TypeDef   typeDef = knownTypeDefNames.get(typeDefName);
-
-        if (typeDef == null)
-        {
-            log.debug("Unknown TypeDef " + typeDefName + " (GUID = " + 
typeDefGUID + ") from " + sourceName);
-
-            return true;
-        }
-
-        if (typeDef.getVersion() != typeDefVersion)
-        {
-            log.error("Version mismatch for TypeDef " + typeDefName + " (GUID 
= " + typeDefGUID + ") from "
-                              + sourceName + " received version number is " + 
Long.toString(typeDefVersion)
-                              + " and stored version is " + 
Long.toString(typeDef.getVersion()));
-
-            return false;
-        }
-
-        return true;
-    }
-
-
-    /**
-     * Return boolean indicating whether the TypeDef identifiers are from a 
single known type or not.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param attributeTypeDefGUID - unique identifier of the TypeDef
-     * @param attributeTypeDefName - unique name of the TypeDef
-     * @param attributeTypeDefVersion - version of the type
-     * @param category - category for the TypeDef
-     * @return boolean result
-     */
-    public boolean validAttributeTypeDefId(String                   sourceName,
-                                           String                   
attributeTypeDefGUID,
-                                           String                   
attributeTypeDefName,
-                                           long                     
attributeTypeDefVersion,
-                                           AttributeTypeDefCategory category)
-    {
-        if (! validAttributeTypeDefId(sourceName, attributeTypeDefGUID, 
attributeTypeDefName, category))
-        {
-            return false;
-        }
-
-        TypeDef   typeDef = knownTypeDefNames.get(attributeTypeDefName);
-
-        if (typeDef == null)
-        {
-            log.debug("Unknown TypeDef " + attributeTypeDefName + " (GUID = " 
+ attributeTypeDefGUID + ") from " + sourceName);
-
-            return true;
-        }
-
-        if (typeDef.getVersion() != attributeTypeDefVersion)
-        {
-            log.error("Version mismatch for TypeDef " + attributeTypeDefName + 
" (GUID = " + attributeTypeDefGUID + ") from "
-                              + sourceName + " received version number is " + 
Long.toString(attributeTypeDefVersion)
-                              + " and stored version is " + 
Long.toString(typeDef.getVersion()));
-
-            return false;
-        }
-
-        return true;
-    }
-
-
-    /**
-     * Return boolean indicating whether the supplied TypeDef is valid or not.
-     *
-     * @param sourceName - source of the TypeDef (used for logging)
-     * @param typeDef - TypeDef to test
-     * @return boolean result
-     */
-    public boolean validTypeDef(String         sourceName,
-                                TypeDef        typeDef)
-    {
-        if (typeDef == null)
-        {
-            log.error("Null typeDef from " + sourceName);
-            return false;
-        }
-
-        if (validTypeDefId(sourceName,
-                           typeDef.getGUID(),
-                           typeDef.getName(),
-                           typeDef.getVersion(),
-                           typeDef.getCategory()))
-        {
-            log.debug("Good typeDef from " + sourceName);
-            return true;
-        }
-        else
-        {
-            log.error("Bad typeDef from " + sourceName);
-            return false;
-        }
-    }
-
-
-    /**
-     * Return boolean indicating whether the supplied AttributeTypeDef is 
valid or not.
-     *
-     * @param sourceName - source of the request (used for logging)
-     * @param attributeTypeDef - TypeDef to test
-     * @return boolean result
-     */
-    public boolean validAttributeTypeDef(String           sourceName,
-                                         AttributeTypeDef attributeTypeDef)
-    {
-        if (attributeTypeDef == null)
-        {
-            log.error("Null attributeTypeDef from " + sourceName);
-            return false;
-        }
-
-        if (validAttributeTypeDefId(sourceName,
-                                    attributeTypeDef.getGUID(),
-                                    attributeTypeDef.getName(),
-                                    attributeTypeDef.getCategory()))
-        {
-            log.debug("Good attributeTypeDef from " + sourceName);
-            return true;
-        }
-        else
-        {
-            log.error("Bad attributeTypeDef from " + sourceName);
-            return false;
-        }
-    }
-
-
-    /**
-     * Return boolean indicating whether the supplied TypeDefSummary is valid 
or not.
-     *
-     * @param sourceName - source of the TypeDefSummary (used for logging)
-     * @param typeDefSummary - TypeDefSummary to test.
-     * @return boolean result.
-     */
-    public boolean validTypeDefSummary(String                sourceName,
-                                       TypeDefSummary        typeDefSummary)
-    {
-        if (typeDefSummary != null)
-        {
-            if (validTypeDefId(sourceName,
-                               typeDefSummary.getGUID(),
-                               typeDefSummary.getName(),
-                               typeDefSummary.getVersion(),
-                               typeDefSummary.getCategory()))
-            {
-                return true;
-            }
-            else
-            {
-                log.error("Bad typeDefSummary from " + sourceName);
-            }
-        }
-
-        log.error("Null typeDefSummary from " + sourceName);
-
-        return false;
-    }
-
-
-    /*
-     * ===========================
-     * OMRSTypeDefEventProcessor
-     */
-
-
-    /**
-     * A new TypeDef has been defined either in an archive, or in another 
member of the cohort.
-     *
-     * This new TypeDef can be added to the repository if it does not clash 
with an existing typeDef and the local
-     * repository supports dynamic type definitions.
-     *
-     * @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 typeDef - details of the new TypeDef
-     */
-    public void processNewTypeDefEvent(String       sourceName,
-                                       String       
originatorMetadataCollectionId,
-                                       String       originatorServerName,
-                                       String       originatorServerType,
-                                       String       originatorOrganizationName,
-                                       TypeDef      typeDef)
-    {
-        final String   actionDescription = "Process New TypeDef Event";
-
-        OMRSMetadataCollection metadataCollection = null;
-
-        try
-        {
-            if (localRepositoryConnector != null)
-            {
-                metadataCollection = 
localRepositoryConnector.getMetadataCollection();
-            }
-
-            if (metadataCollection != null)
-            {
-                /*
-                 * VerifyTypeDef returns true if the typeDef is known and 
matches the supplied definition.
-                 * It returns false if the type is supportable but has not yet 
been defined.
-                 * It throws TypeDefNotSupportedException if the typeDef is 
not supported and can not
-                 * be dynamically defined by the local repository.
-                 */
-                if (!metadataCollection.verifyTypeDef(sourceName, typeDef))
-                {
-                    metadataCollection.addTypeDef(sourceName, typeDef);
-
-                    /*
-                     * Update the active TypeDefs as this new TypeDef has been 
accepted by the local repository.
-                     */
-                    activeTypeDefNames.put(typeDef.getName(), typeDef);
-
-                    OMRSAuditCode auditCode = OMRSAuditCode.NEW_TYPE_ADDED;
-                    auditLog.logRecord(actionDescription,
-                                       auditCode.getLogMessageId(),
-                                       auditCode.getSeverity(),
-                                       
auditCode.getFormattedLogMessage(typeDef.getName(),
-                                                                        
typeDef.getGUID(),
-                                                                        
Long.toString(typeDef.getVersion()),
-                                                                        
sourceName),
-                                       null,
-                                       auditCode.getSystemAction(),
-                                       auditCode.getUserAction());
-                }
-            }
-        }
-        catch (TypeDefNotSupportedException fixedTypeSystemResponse)
-        {
-            OMRSAuditCode auditCode = OMRSAuditCode.NEW_TYPE_NOT_SUPPORTED;
-            auditLog.logRecord(actionDescription,
-                               auditCode.getLogMessageId(),
-                               auditCode.getSeverity(),
-                               
auditCode.getFormattedLogMessage(typeDef.getName(),
-                                                                
typeDef.getGUID(),
-                                                                
Long.toString(typeDef.getVersion())),
-                               null,
-                               auditCode.getSystemAction(),
-                               auditCode.getUserAction());
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository does not 
support dynamic type definitions", typeDef);
-                log.debug("TypeDefNotSupportedException:", 
fixedTypeSystemResponse);
-
-            }
-        }
-        catch (RepositoryErrorException error)
-        {
-            log.error("TypeDef " + typeDef.getName() + " not added because 
repository is not available", typeDef);
-            log.error("RepositoryErrorException:", error);
-        }
-        catch (TypeDefConflictException error)
-        {
-            // TODO log an error to say that the TypeDef conflicts with a 
TypeDef already stored.
-
-
-            log.error("TypeDef not added because it conflicts with another 
TypeDef already in the repository", typeDef);
-            log.error("TypeDefConflictException:", error);
-
-            
outboundRepositoryEventManager.processTypeDefConflictEvent(sourceName,
-                                                                       
localRepositoryConnector.getMetadataCollectionId(),
-                                                                       
localRepositoryConnector.getLocalServerName(),
-                                                                       
localRepositoryConnector.getLocalServerType(),
-                                                                       
localRepositoryConnector.getOrganizationName(),
-                                                                       typeDef,
-                                                                       
originatorMetadataCollectionId,
-                                                                       
knownTypeDefNames.get(typeDef.getName()),
-                                                                       null);
-        }
-        catch (InvalidTypeDefException error)
-        {
-            // TODO log an error to say that the TypeDef contains bad values.
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository is not 
available", typeDef);
-                log.debug("InvalidTypeDefException:", error);
-            }
-        }
-        catch (TypeDefKnownException error)
-        {
-            // TODO log an error to say that a logic error has occurred
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository has a logic 
error", typeDef);
-                log.debug("TypeDefKnownException:", error);
-
-            }
-        }
-        catch (Throwable  error)
-        {
-            // TODO log an error to say that an unexpected error has occurred
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository has an 
unexpected error", typeDef);
-                log.debug("Throwable:", error);
-            }
-        }
-    }
-
-
-    /**
-     * A new AttributeTypeDef has been defined in an open metadata 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 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 attributeTypeDef - details of the new AttributeTypeDef.
-     */
-    public void processNewAttributeTypeDefEvent(String           sourceName,
-                                                String           
originatorMetadataCollectionId,
-                                                String           
originatorServerName,
-                                                String           
originatorServerType,
-                                                String           
originatorOrganizationName,
-                                                AttributeTypeDef 
attributeTypeDef)
-    {
-        final String   actionDescription = "Process New TypeDef Event";
-
-        OMRSMetadataCollection metadataCollection = null;
-
-        try
-        {
-            if (localRepositoryConnector != null)
-            {
-                metadataCollection = 
localRepositoryConnector.getMetadataCollection();
-            }
-
-            if (metadataCollection != null)
-            {
-                /*
-                 * VerifyTypeDef returns true if the typeDef is known and 
matches the supplied definition.
-                 * It returns false if the type is supportable but has not yet 
been defined.
-                 * It throws TypeDefNotSupportedException if the typeDef is 
not supported and can not
-                 * be dynamically defined by the local repository.
-                 */
-                if (!metadataCollection.verifyAttributeTypeDef(sourceName, 
attributeTypeDef))
-                {
-                    metadataCollection.addAttributeTypeDef(sourceName, 
attributeTypeDef);
-
-                    /*
-                     * Update the active TypeDefs as this new TypeDef has been 
accepted by the local repository.
-                     */
-                    
activeAttributeTypeDefNames.put(attributeTypeDef.getName(), attributeTypeDef);
-
-                    OMRSAuditCode auditCode = OMRSAuditCode.NEW_TYPE_ADDED;
-                    auditLog.logRecord(actionDescription,
-                                       auditCode.getLogMessageId(),
-                                       auditCode.getSeverity(),
-                                       
auditCode.getFormattedLogMessage(attributeTypeDef.getName(),
-                                                                        
attributeTypeDef.getGUID(),
-                                                                        
Long.toString(attributeTypeDef.getVersion()),
-                                                                        
sourceName),
-                                       null,
-                                       auditCode.getSystemAction(),
-                                       auditCode.getUserAction());
-                }
-            }
-        }
-        catch (TypeDefNotSupportedException fixedTypeSystemResponse)
-        {
-            OMRSAuditCode auditCode = OMRSAuditCode.NEW_TYPE_NOT_SUPPORTED;
-            auditLog.logRecord(actionDescription,
-                               auditCode.getLogMessageId(),
-                               auditCode.getSeverity(),
-                               
auditCode.getFormattedLogMessage(attributeTypeDef.getName(),
-                                                                
attributeTypeDef.getGUID(),
-                                                                
Long.toString(attributeTypeDef.getVersion())),
-                               null,
-                               auditCode.getSystemAction(),
-                               auditCode.getUserAction());
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository does not 
support dynamic type definitions", attributeTypeDef);
-                log.debug("TypeDefNotSupportedException:", 
fixedTypeSystemResponse);
-
-            }
-        }
-        catch (RepositoryErrorException error)
-        {
-            log.error("TypeDef " + attributeTypeDef.getName() + " not added 
because repository is not available", attributeTypeDef);
-            log.error("RepositoryErrorException:", error);
-        }
-        catch (TypeDefConflictException error)
-        {
-            // TODO log an error to say that the TypeDef conflicts with a 
TypeDef already stored.
-
-            log.error("TypeDef not added because it conflicts with another 
TypeDef already in the repository", attributeTypeDef);
-            log.error("TypeDefConflictException:", error);
-
-            
outboundRepositoryEventManager.processAttributeTypeDefConflictEvent(sourceName,
-                                                                               
 localRepositoryConnector.getMetadataCollectionId(),
-                                                                               
 localRepositoryConnector.getLocalServerName(),
-                                                                               
 localRepositoryConnector.getLocalServerType(),
-                                                                               
 localRepositoryConnector.getOrganizationName(),
-                                                                               
 attributeTypeDef,
-                                                                               
 originatorMetadataCollectionId,
-                                                                               
 knownAttributeTypeDefNames.get(
-                                                                               
         attributeTypeDef.getName()),
-                                                                               
 null);
-        }
-        catch (InvalidTypeDefException error)
-        {
-            // TODO log an error to say that the TypeDef contains bad values.
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository is not 
available", attributeTypeDef);
-                log.debug("InvalidTypeDefException:", error);
-            }
-        }
-        catch (TypeDefKnownException error)
-        {
-            // TODO log an error to say that a logic error has occurred
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository has a logic 
error", attributeTypeDef);
-                log.debug("TypeDefKnownException:", error);
-
-            }
-        }
-        catch (Throwable  error)
-        {
-            // TODO log an error to say that an unexpected error has occurred
-
-            if (log.isDebugEnabled())
-            {
-                log.debug("TypeDef not added because repository has an 
unexpected error", attributeTypeDef);
-                log.debug("Throwable:", error);
-            }
-        }
-    }
-
-
-    /**
-     * An existing TypeDef has been updated in a remote metadata 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 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 typeDefPatch - details of the new version of the TypeDef
-     */
-    public void processUpdatedTypeDefEvent(String       sourceName,
-                                           String       
originatorMetadataCollectionId,
-                                           String       originatorServerName,
-                                           String       originatorServerType,
-                                           String       
originatorOrganizationName,
-                                           TypeDefPatch typeDefPatch)
-    {
-        try
-        {
-            OMRSMetadataCollection metadataCollection = 
localRepositoryConnector.getMetadataCollection();
-
-            if (metadataCollection != null)
-            {
-
-
-                TypeDef updatedTypeDef = 
metadataCollection.updateTypeDef(null, typ

<TRUNCATED>

Reply via email to