You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by gr...@apache.org on 2018/08/08 07:48:53 UTC

[29/51] [partial] atlas git commit: ATLAS-2787; Removed redundant OM modules

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSMetadataStore.java
----------------------------------------------------------------------
diff --git a/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSMetadataStore.java b/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSMetadataStore.java
deleted file mode 100644
index 3d54344..0000000
--- a/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSMetadataStore.java
+++ /dev/null
@@ -1,615 +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.adapters.inmemory.repositoryconnector;
-
-import org.apache.atlas.omrs.metadatacollection.properties.instances.EntityDetail;
-import org.apache.atlas.omrs.metadatacollection.properties.instances.EntityProxy;
-import org.apache.atlas.omrs.metadatacollection.properties.instances.Relationship;
-import org.apache.atlas.omrs.metadatacollection.properties.typedefs.AttributeTypeDef;
-import org.apache.atlas.omrs.metadatacollection.properties.typedefs.TypeDef;
-
-import java.util.*;
-
-/**
- * InMemoryOMRSMetadataStore provides the in memory stores for the InMemoryRepositoryConnector
- */
-public class InMemoryOMRSMetadataStore
-{
-    private String                            repositoryName           = null;
-    private HashMap<String, TypeDef>          typeDefStore             = new HashMap<>();
-    private HashMap<String, AttributeTypeDef> attributeTypeDefStore    = new HashMap<>();
-    private HashMap<String, EntityDetail>     entityStore              = new HashMap<>();
-    private HashMap<String, EntityProxy>      entityProxyStore         = new HashMap<>();
-    private List<EntityDetail>                entityHistoryStore       = new ArrayList<>();
-    private HashMap<String, Relationship>     relationshipStore        = new HashMap<>();
-    private List<Relationship>                relationshipHistoryStore = new ArrayList<>();
-
-
-    /**
-     * Default constructor
-     */
-    public InMemoryOMRSMetadataStore()
-    {
-    }
-
-
-    /**
-     * Set up the name of the repository for logging.
-     *
-     * @param repositoryName - String name
-     */
-    protected void  setRepositoryName(String    repositoryName)
-    {
-        this.repositoryName = repositoryName;
-    }
-
-
-    /**
-     * Return a list of all of the defined AttributeTypeDefs.
-     *
-     * @return list of attribute type definitions
-     */
-    protected List<AttributeTypeDef> getAttributeTypeDefs()
-    {
-        return new ArrayList<>(attributeTypeDefStore.values());
-    }
-
-
-    /**
-     * Return the AttributeTypeDef identified by the supplied guid.
-     *
-     * @param guid - unique identifier for the AttributeTypeDef
-     * @return attribute type definition
-     */
-    protected AttributeTypeDef   getAttributeTypeDef(String  guid)
-    {
-        return attributeTypeDefStore.get(guid);
-    }
-
-
-    /**
-     * Add an AttributeDefType to the store.
-     *
-     * @param attributeTypeDef - type to add
-     */
-    protected void  putAttributeTypeDef(AttributeTypeDef   attributeTypeDef)
-    {
-        attributeTypeDefStore.put(attributeTypeDef.getGUID(), attributeTypeDef);
-    }
-
-
-    /**
-     * Return a list of all of the defined TypeDefs.
-     *
-     * @return list of type definitions
-     */
-    protected List<TypeDef>  getTypeDefs()
-    {
-        return new ArrayList<>(typeDefStore.values());
-    }
-
-
-    /**
-     * Return the type definition identified by the guid.
-     *
-     * @param guid - unique identifier for type definition
-     * @return type definition
-     */
-    protected TypeDef   getTypeDef(String guid)
-    {
-        return typeDefStore.get(guid);
-    }
-
-
-    /**
-     * Add a type definition (TypeDef) to the store.
-     *
-     * @param typeDef - type definition
-     */
-    protected void  putTypeDef(TypeDef   typeDef)
-    {
-        typeDefStore.put(typeDef.getGUID(), typeDef);
-    }
-
-
-    /**
-     * Return a list of entities from the store that are at the latest level.
-     *
-     * @return list of EntityDetail objects
-     */
-    protected List<EntityDetail>   getEntities()
-    {
-        return new ArrayList<>(entityStore.values());
-    }
-
-
-    /**
-     * Return the entity identified by the guid.
-     *
-     * @param guid - unique identifier for the entity
-     * @return entity object
-     */
-    protected EntityDetail  getEntity(String   guid)
-    {
-        return entityStore.get(guid);
-    }
-
-
-    /**
-     * Return the entity proxy identified by the guid.
-     *
-     * @param guid - unique identifier
-     * @return entity proxy object
-     */
-    protected EntityProxy  getEntityProxy(String   guid)
-    {
-        return entityProxyStore.get(guid);
-    }
-
-
-    /**
-     * Return an entity store that contains entities as they were at the time supplied in the asOfTime
-     * parameter
-     *
-     * @param asOfTime - time for the store (or null means now)
-     * @return entity store for the requested time
-     */
-    protected HashMap<String, EntityDetail>  timeWarpEntityStore(Date         asOfTime)
-    {
-        if (asOfTime == null)
-        {
-            return entityStore;
-        }
-
-        HashMap<String, EntityDetail>  timeWarpedEntityStore = new HashMap<>();
-
-        /*
-         * First step through the current relationship store and extract all of the relationships that were
-         * last updated before the asOfTime.
-         */
-        for (EntityDetail  entity : entityStore.values())
-        {
-            if (entity != null)
-            {
-                if (entity.getUpdateTime() != null)
-                {
-                    String entityGUID = entity.getGUID();
-
-                    if (entityGUID != null)
-                    {
-                        if (! entity.getUpdateTime().after(asOfTime))
-                        {
-                            timeWarpedEntityStore.put(entityGUID, entity);
-                        }
-                    }
-                }
-                else if (entity.getCreateTime() != null)
-                {
-                    if (! entity.getCreateTime().after(asOfTime))
-                    {
-                        timeWarpedEntityStore.put(entity.getGUID(), entity);
-                    }
-                }
-            }
-        }
-
-        /*
-         * Now step through the history store picking up the versions of other entities that were active
-         * at the time of the asOfTime.
-         */
-        for (EntityDetail oldEntity : entityHistoryStore)
-        {
-            if (oldEntity != null)
-            {
-                String entityGUID = oldEntity.getGUID();
-
-                if (oldEntity.getUpdateTime() != null)
-                {
-                    if (! oldEntity.getUpdateTime().after(asOfTime))
-                    {
-                        EntityDetail newerEntity = timeWarpedEntityStore.put(entityGUID, oldEntity);
-
-                        if (newerEntity != null)
-                        {
-                            timeWarpedEntityStore.put(entityGUID, newerEntity);
-                        }
-                        break;
-                    }
-                }
-                else if (oldEntity.getCreateTime() != null)
-                {
-                    if (! oldEntity.getCreateTime().after(asOfTime))
-                    {
-                        timeWarpedEntityStore.put(entityGUID, oldEntity);
-                        break;
-                    }
-                }
-            }
-        }
-
-        return timeWarpedEntityStore;
-    }
-
-
-    /**
-     * Return the list of relationships at their current level.
-     *
-     * @return list of relationships
-     */
-    protected List<Relationship>   getRelationships()
-    {
-        return new ArrayList<>(relationshipStore.values());
-    }
-
-
-    /**
-     * Return the relationship identified by the guid.
-     *
-     * @param guid - unique identifier for the relationship
-     * @return relationship object
-     */
-    protected Relationship  getRelationship(String   guid)
-    {
-        return relationshipStore.get(guid);
-    }
-
-    /**
-     * Return a relationship store that contains relationships as they were at the time supplied in the asOfTime
-     * parameter
-     *
-     * @param asOfTime - time for the store (or null means now)
-     * @return relationship store for the requested time
-     */
-    protected HashMap<String, Relationship>  timeWarpRelationshipStore(Date         asOfTime)
-    {
-        if (asOfTime == null)
-        {
-            return relationshipStore;
-        }
-
-
-        HashMap<String, Relationship>  timeWarpedRelationshipStore = new HashMap<>();
-
-        /*
-         * First step through the current relationship store and extract all of the relationships that were
-         * last updated before the asOfTime.
-         */
-        for (Relationship  relationship : relationshipStore.values())
-        {
-            if (relationship != null)
-            {
-                if (relationship.getUpdateTime() != null)
-                {
-                    String relationshipGUID = relationship.getGUID();
-
-                    if (relationshipGUID != null)
-                    {
-                        if (! relationship.getUpdateTime().after(asOfTime))
-                        {
-                            timeWarpedRelationshipStore.put(relationshipGUID, relationship);
-                        }
-                    }
-                }
-                else if (relationship.getCreateTime() != null)
-                {
-                    if (! relationship.getCreateTime().after(asOfTime))
-                    {
-                        timeWarpedRelationshipStore.put(relationship.getGUID(), relationship);
-                    }
-                }
-            }
-        }
-
-        /*
-         * Now step through the history store picking up the versions of other relationships that were active
-         * at the time of the asOfTime.
-         */
-        for (Relationship oldRelationship : relationshipHistoryStore)
-        {
-            if (oldRelationship != null)
-            {
-                String relationshipGUID = oldRelationship.getGUID();
-
-                if (oldRelationship.getUpdateTime() != null)
-                {
-                    if (! oldRelationship.getUpdateTime().after(asOfTime))
-                    {
-                        Relationship newerRelationship = timeWarpedRelationshipStore.put(relationshipGUID, oldRelationship);
-
-                        if (newerRelationship != null)
-                        {
-                            timeWarpedRelationshipStore.put(relationshipGUID, newerRelationship);
-                        }
-                        break;
-                    }
-                }
-                else if (oldRelationship.getCreateTime() != null)
-                {
-                    if (! oldRelationship.getCreateTime().after(asOfTime))
-                    {
-                        timeWarpedRelationshipStore.put(relationshipGUID, oldRelationship);
-                        break;
-                    }
-                }
-            }
-        }
-
-        return timeWarpedRelationshipStore;
-    }
-
-    /**
-     * Create a new entity in the entity store.
-     *
-     * @param entity - new version of the entity
-     * @return entity with potentially updated GUID
-     */
-    protected EntityDetail createEntityInStore(EntityDetail    entity)
-    {
-        /*
-         * There is a small chance the randomly generated GUID will clash with an existing relationship.
-         * If this happens a new GUID is generated for the relationship and the process repeats.
-         */
-        EntityDetail existingEntity = entityStore.put(entity.getGUID(), entity);
-
-        while (existingEntity != null)
-        {
-            entity.setGUID(UUID.randomUUID().toString());
-            existingEntity = entityStore.put(entity.getGUID(), entity);
-        }
-
-        return entity;
-    }
-
-
-    /**
-     * Create a new relationship in the relationship store.
-     *
-     * @param relationship - new version of the relationship
-     * @return relationship with potentially updated GUID
-     */
-    protected Relationship createRelationshipInStore(Relationship    relationship)
-    {
-        /*
-         * There is a small chance the randomly generated GUID will clash with an existing relationship.
-         * If this happens a new GUID is generated for the relationship and the process repeats.
-         */
-        Relationship existingRelationship = relationshipStore.put(relationship.getGUID(), relationship);
-
-        while (existingRelationship != null)
-        {
-            relationship.setGUID(UUID.randomUUID().toString());
-            existingRelationship = relationshipStore.put(relationship.getGUID(), relationship);
-        }
-
-        return relationship;
-    }
-
-
-    /**
-     * Save an entity proxy to the entity store.
-     *
-     * @param entityProxy - entity proxy object to add
-     */
-    protected void addEntityProxyToStore(EntityProxy    entityProxy)
-    {
-        entityProxyStore.put(entityProxy.getGUID(), entityProxy);
-    }
-
-
-    /**
-     * Maintain a history of entities as they are stored into the entity store to ensure old version can be restored.
-     * The history is maintained with the latest changes first in the list.
-     *
-     * @param entity - new version of the entity
-     */
-    protected void updateEntityInStore(EntityDetail    entity)
-    {
-        EntityDetail    oldEntity = entityStore.put(entity.getGUID(), entity);
-
-        if (oldEntity != null)
-        {
-            entityHistoryStore.add(0, oldEntity);
-        }
-    }
-
-
-    /**
-     * Update an entity proxy in the proxy store.
-     *
-     * @param entityProxy - entity proxy object to add
-     */
-    protected void updateEntityProxyInStore(EntityProxy    entityProxy)
-    {
-        entityProxyStore.put(entityProxy.getGUID(), entityProxy);
-    }
-
-
-
-    /**
-     * Maintain a history of relationships as they are stored into the relationship store to ensure old version
-     * can be restored.  The history is maintained with the latest changes first in the list.
-     *
-     * @param relationship - new version of the relationship
-     */
-    protected void updateRelationshipInStore(Relationship    relationship)
-    {
-        Relationship    oldRelationship = relationshipStore.put(relationship.getGUID(), relationship);
-
-        if (oldRelationship != null)
-        {
-            relationshipHistoryStore.add(0, oldRelationship);
-        }
-    }
-
-
-    /**
-     * Save a reference copy of an entity to the active store.  Reference copies are not maintained in the
-     * history store.
-     *
-     * @param entity - object to save
-     */
-    protected void saveReferenceEntityToStore(EntityDetail    entity)
-    {
-        entityStore.put(entity.getGUID(), entity);
-    }
-
-
-    /**
-     * Save a reference copy of a relationship to the active store.  Reference copies are not maintained in the
-     * history store.
-     *
-     * @param relationship - object to save
-     */
-    protected void saveReferenceRelationshipToStore(Relationship    relationship)
-    {
-        relationshipStore.put(relationship.getGUID(), relationship);
-    }
-
-
-    /**
-     * Retrieve the previous version of a Relationship.  This is the first instance of this element that
-     * appears in the history.
-     *
-     * @param guid - unique identifier for the required element
-     * @return - previous version of this relationship - or null if not found
-     */
-    protected Relationship retrievePreviousVersionOfRelationship(String   guid)
-    {
-        if (guid != null)
-        {
-            int  elementPosition = 0;
-
-            for (Relationship relationship : relationshipHistoryStore)
-            {
-                if (relationship != null)
-                {
-                    if (guid.equals(relationship.getGUID()))
-                    {
-                        relationshipHistoryStore.remove(elementPosition);
-                        relationshipStore.put(guid, relationship);
-                        return relationship;
-                    }
-                }
-
-                elementPosition ++;
-            }
-        }
-
-        return null;
-    }
-
-
-    /**
-     * Retrieve the previous version of an Entity from the history store and restore it in the entity store.
-     * This is the first instance of this element that appears in the history.
-     *
-     * @param guid - unique identifier for the required element
-     * @return - previous version of this Entity - or null if not found
-     */
-    protected EntityDetail retrievePreviousVersionOfEntity(String   guid)
-    {
-        if (guid != null)
-        {
-            int  elementPosition = 0;
-
-            for (EntityDetail entity : entityHistoryStore)
-            {
-                if (entity != null)
-                {
-                    if (guid.equals(entity.getGUID()))
-                    {
-                        entityHistoryStore.remove(elementPosition);
-                        entityStore.put(guid, entity);
-                        return entity;
-                    }
-                }
-
-                elementPosition ++;
-            }
-        }
-
-        return null;
-    }
-
-
-    /**
-     * Remove an entity from the active store and add it to the history store.
-     *
-     * @param entity - entity to remove
-     */
-    protected void removeEntityFromStore(EntityDetail     entity)
-    {
-        entityStore.remove(entity.getGUID());
-        entityHistoryStore.add(0, entity);
-    }
-
-    /**
-     * Remove a reference entity from the active store and add it to the history store.
-     *
-     * @param guid - entity to remove
-     */
-    protected void removeReferenceEntityFromStore(String     guid)
-    {
-        EntityDetail entity = entityStore.remove(guid);
-
-        if (entity != null)
-        {
-            entityHistoryStore.add(0, entity);
-        }
-    }
-
-
-    /**
-     * Remove an entity from the active store and add it to the history store.
-     *
-     * @param guid - entity proxy to remove
-     */
-    protected void removeEntityProxyFromStore(String     guid)
-    {
-        entityProxyStore.remove(guid);
-    }
-
-
-    /**
-     * Remove a relationship from the active store and add it to the history store.
-     *
-     * @param relationship - relationship to remove
-     */
-    protected void removeRelationshipFromStore(Relationship     relationship)
-    {
-        relationshipStore.remove(relationship.getGUID());
-        relationshipHistoryStore.add(0, relationship);
-    }
-
-
-    /**
-     * Remove a reference relationship from the active store and add it to the history store.
-     *
-     * @param guid - relationship to remove
-     */
-    protected void removeReferenceRelationshipFromStore(String     guid)
-    {
-        Relationship  relationship = relationshipStore.remove(guid);
-
-        if (relationship != null)
-        {
-            relationshipHistoryStore.add(0, relationship);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnector.java
----------------------------------------------------------------------
diff --git a/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnector.java b/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnector.java
deleted file mode 100644
index b564027..0000000
--- a/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnector.java
+++ /dev/null
@@ -1,61 +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.adapters.inmemory.repositoryconnector;
-
-import org.apache.atlas.omrs.metadatacollection.repositoryconnector.OMRSRepositoryConnector;
-
-/**
- * The InMemoryOMRSRepositoryConnector is a connector to a local in memory repository.  It is used for test,
- * small scale fixed or temporary repositories where the initial content comes from open metadata archives and
- * other members of connected open metadata repository cohorts.
- */
-public class InMemoryOMRSRepositoryConnector extends OMRSRepositoryConnector
-{
-    /**
-     * Default constructor used by the OCF Connector Provider.
-     */
-    public InMemoryOMRSRepositoryConnector()
-    {
-        /*
-         * Nothing to do.
-         */
-    }
-
-
-    /**
-     * Set up the unique Id for this metadata collection.
-     *
-     * @param metadataCollectionId - String unique Id
-     */
-    public void setMetadataCollectionId(String     metadataCollectionId)
-    {
-        super.metadataCollectionId = metadataCollectionId;
-
-        if (metadataCollectionId != null)
-        {
-            /*
-             * Initialize the metadata collection only once the connector is properly set up.
-             */
-            super.metadataCollection = new InMemoryOMRSMetadataCollection(this,
-                                                                          super.serverName,
-                                                                          repositoryHelper,
-                                                                          repositoryValidator,
-                                                                          metadataCollectionId);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnectorProvider.java
----------------------------------------------------------------------
diff --git a/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnectorProvider.java b/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnectorProvider.java
deleted file mode 100644
index 0b727e9..0000000
--- a/omrs/src/main/java/org/apache/atlas/omrs/adapters/inmemory/repositoryconnector/InMemoryOMRSRepositoryConnectorProvider.java
+++ /dev/null
@@ -1,45 +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.adapters.inmemory.repositoryconnector;
-
-import org.apache.atlas.omrs.metadatacollection.repositoryconnector.OMRSRepositoryConnectorProviderBase;
-
-/**
- * In the Open Connector Framework (OCF), a ConnectorProvider is a factory for a specific type of connector.
- * The InMemoryOMRSRepositoryConnectorProvider is the connector provider for the InMemoryOMRSRepositoryConnector.
- * It extends OMRSRepositoryConnectorProviderBase which in turn extends the OCF ConnectorProviderBase.
- * ConnectorProviderBase supports the creation of connector instances.
- *
- * The InMemoryOMRSRepositoryConnectorProvider must initialize ConnectorProviderBase with the Java class
- * name of the OMRS Connector implementation (by calling super.setConnectorClassName(className)).
- * Then the connector provider will work.
- */
-public class InMemoryOMRSRepositoryConnectorProvider
-        extends OMRSRepositoryConnectorProviderBase
-{
-    /**
-     * Constructor used to initialize the ConnectorProviderBase with the Java class name of the specific
-     * OMRS Connector implementation.
-     */
-    public InMemoryOMRSRepositoryConnectorProvider()
-    {
-        Class    connectorClass = InMemoryOMRSRepositoryConnector.class;
-
-        super.setConnectorClassName(connectorClass.getName());
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omrs/src/main/java/org/apache/atlas/omrs/admin/OMRSConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/omrs/src/main/java/org/apache/atlas/omrs/admin/OMRSConfigurationFactory.java b/omrs/src/main/java/org/apache/atlas/omrs/admin/OMRSConfigurationFactory.java
deleted file mode 100644
index 7ae87c6..0000000
--- a/omrs/src/main/java/org/apache/atlas/omrs/admin/OMRSConfigurationFactory.java
+++ /dev/null
@@ -1,870 +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.admin;
-
-import org.apache.atlas.ocf.properties.ElementOrigin;
-import org.apache.atlas.ocf.properties.beans.Connection;
-import org.apache.atlas.ocf.properties.beans.ConnectorType;
-import org.apache.atlas.ocf.properties.beans.Endpoint;
-import org.apache.atlas.ocf.properties.beans.ElementType;
-
-
-import org.apache.atlas.omrs.adapters.atlas.repositoryconnector.LocalAtlasOMRSRepositoryConnectorProvider;
-import org.apache.atlas.omrs.adapters.inmemory.repositoryconnector.InMemoryOMRSRepositoryConnectorProvider;
-import org.apache.atlas.omrs.admin.properties.*;
-import org.apache.atlas.omrs.archivemanager.store.file.FileBasedOpenMetadataArchiveStoreProvider;
-import org.apache.atlas.omrs.auditlog.store.file.FileBasedAuditLogStoreProvider;
-import org.apache.atlas.omrs.metadatahighway.cohortregistry.store.file.FileBasedRegistryStoreProvider;
-import org.apache.atlas.omrs.metadatacollection.properties.typedefs.TypeDefSummary;
-import org.apache.atlas.omrs.rest.repositoryconnector.OMRSRESTRepositoryConnectorProvider;
-import org.apache.atlas.omrs.topicconnectors.inmemory.InMemoryOMRSTopicProvider;
-import org.apache.atlas.omrs.topicconnectors.kafka.KafkaOMRSTopicProvider;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-
-/**
- * OMRSConfigurationFactory sets up default configuration for the OMRS components.  It is used by the OMAG server
- * while it manages the changes made to the server configuration by the server administrator.  The aim is to
- * build up the RepositoryServicesConfig object that is used to initialize the OMRSOperationalServices.
- */
-public class OMRSConfigurationFactory
-{
-    /*
-     * Default property fillers
-     */
-    private static final String defaultEnterpriseMetadataCollectionName = " Enterprise Metadata Collection";
-
-    private static final String defaultTopicRootName = "omag/omrs/";
-    private static final String defaultTopicLeafName = "/OMRSTopic";
-
-    private static final String defaultEnterpriseTopicConnectorRootName = "enterprise/";
-    private static final String defaultCohortTopicConnectorRootName     = "cohort/";
-
-    private static final String defaultCohortName = "defaultCohort";
-
-    private static final String defaultOpenMetadataArchiveFileName = "OpenMetadataTypes.json";
-
-    /**
-     * Default constructor
-     */
-    public OMRSConfigurationFactory()
-    {
-    }
-
-
-    /**
-     * Return the connection for the default audit log.
-     * By default, the Audit log is stored in a directory called localServerName.auditlog.
-     *
-     * @param localServerName - name of the local server
-     * @return OCF Connection used to create the file-based audit logger
-     */
-    private Connection getDefaultAuditLogConnection(String localServerName)
-    {
-        final String endpointGUID      = "836efeae-ab34-4425-89f0-6adf2faa1f2e";
-        final String connectorTypeGUID = "f8a24f09-9183-4d5c-8408-aa1c8852a7d6";
-        final String connectionGUID    = "5390bf3e-6b38-4eda-b34a-de55ac4252a7";
-
-        final String endpointDescription = "OMRS default audit log endpoint.";
-
-        String endpointAddress = localServerName + ".auditlog";
-        String endpointName    = "DefaultAuditLog.Endpoint." + endpointAddress;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(this.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(endpointAddress);
-
-        final String connectorTypeDescription   = "OMRS default audit log connector type.";
-        final String connectorTypeJavaClassName = FileBasedAuditLogStoreProvider.class.getName();
-
-        String connectorTypeName = "DefaultAuditLog.ConnectorType." + localServerName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-        final String connectionDescription = "OMRS default audit log connection.";
-
-        String connectionName = "DefaultAuditLog.Connection." + localServerName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the connection for the default audit log.
-     * By default, the open metadata is stored in a file called localServerName.auditlog.
-     *
-     * @return OCF Connection used to create the file-based open metadata archive
-     */
-    public Connection getOpenMetadataTypesConnection()
-    {
-        final String endpointGUID      = "45877b9c-9192-44ba-a2b7-6817bc753969";
-        final String connectorTypeGUID = "86f52a17-5d3c-47fd-9cac-0b5a45d150a9";
-        final String connectionGUID    = "447bbb33-84f9-4a56-a712-addeebdcd764";
-
-        final String endpointDescription = "Open metadata types archive endpoint.";
-
-        String endpointAddress = defaultOpenMetadataArchiveFileName;
-        String endpointName    = "OpenMetadataTypes.Endpoint" + endpointAddress;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(this.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(endpointAddress);
-
-        final String connectorTypeDescription   = "Open metadata types archive connector type.";
-        final String connectorTypeJavaClassName = FileBasedOpenMetadataArchiveStoreProvider.class.getName();
-
-        String connectorTypeName = "OpenMetadataTypes.ConnectorType";
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-        final String connectionDescription = "Open metadata types archive connection.";
-
-        String connectionName = "OpenMetadataTypes.Connection";
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the default local repository's local connection.  This is set to null which means use the remote
-     * connection.
-     *
-     * @return null Connection object
-     */
-    private Connection getDefaultLocalRepositoryLocalConnection()
-    {
-        return null;
-    }
-
-
-    /**
-     * Return the local graph repository's connection.  This is using the LocalAtlasOMRSRepositoryConnector.
-     *
-     * @param localServerName - name of the local server
-     * @return Connection object
-     */
-    private Connection getLocalGraphRepositoryLocalConnection(String localServerName)
-    {
-        final String connectorTypeGUID = "18530415-44a2-4bd0-95bb-8efd333e53fb";
-        final String connectionGUID    = "3f1fd4fc-90f9-436a-8e2c-2120d590f5e4";
-
-        final String connectorTypeDescription   = "OMRS default graph local repository connector type.";
-        final String connectorTypeJavaClassName = LocalAtlasOMRSRepositoryConnectorProvider.class.getName();
-
-        String connectorTypeName = "DefaultLocalGraphRepository.ConnectorType." + localServerName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-
-        final String connectionDescription = "OMRS default local graph repository connection.";
-
-        String connectionName = "DefaultLocalGraphRepository.Connection." + localServerName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the in-memory local repository connection.  This is using the InMemoryOMRSRepositoryConnector.
-     *
-     * @param localServerName - name of the local server
-     * @return Connection object
-     */
-    private Connection getInMemoryLocalRepositoryLocalConnection(String localServerName)
-    {
-        final String connectorTypeGUID = "21422eb9-c6c1-4071-b96b-0572c9680260";
-        final String connectionGUID    = "6a3c07b0-0e04-42dc-bcc6-392609bf1d02";
-
-        final String connectorTypeDescription   = "OMRS default in memory local repository connector type.";
-        final String connectorTypeJavaClassName = InMemoryOMRSRepositoryConnectorProvider.class.getName();
-
-        String connectorTypeName = "DefaultInMemoryRepository.ConnectorType." + localServerName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-
-        final String connectionDescription = "OMRS default in memory local repository connection.";
-
-        String connectionName = "DefaultInMemoryRepository.Connection." + localServerName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the Connection for this server's OMRS Repository REST API.  If the localServerURL is
-     * something like localhost:8080/omag/localServerName and the REST API URL would be
-     * localhost:8080/omag/localServerName/omrs/metadatacollection.
-     *
-     * @param localServerName - name of the local server
-     * @param localServerURL - root of the local server's URL
-     * @return Connection object
-     */
-    private  Connection getDefaultLocalRepositoryRemoteConnection(String localServerName,
-                                                                 String localServerURL)
-    {
-        final String endpointGUID      = "cee85898-43aa-4af5-9bbd-2bed809d1acb";
-        final String connectorTypeGUID = "64e67923-8190-45ea-8f96-39320d638c02";
-        final String connectionGUID    = "858be98b-49d2-4ccf-9b23-01085a5f473f";
-
-        final String endpointDescription = "OMRS default repository REST API endpoint.";
-
-        String endpointAddress = localServerURL + "/omag/omrs/";
-        String endpointName    = "DefaultRepositoryRESTAPI.Endpoint." + localServerName;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(this.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(endpointAddress);
-
-        final String connectorTypeDescription   = "OMRS default repository REST API connector type.";
-        final String connectorTypeJavaClassName = OMRSRESTRepositoryConnectorProvider.class.getName();
-
-        String connectorTypeName = "DefaultRepositoryRESTAPI.ConnectorType." + localServerName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-
-        final String connectionDescription = "OMRS default repository REST API connection.";
-
-        String connectionName = "DefaultRepositoryRESTAPI.Connection." + localServerName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the default local repository event mapper.  This is null since the use of, or need for, the event mapper
-     * is determined by the type of local repository.
-     *
-     * @return null Connection object
-     */
-    private Connection getDefaultEventMapperConnection()
-    {
-        return null;
-    }
-
-
-    /**
-     * Return the default connection for the enterprise OMRS topic.  This uses a Kafka topic called
-     * omag/omrs/enterprise/localServerName/OMRSTopic.
-     *
-     * @param localServerName - name of local server
-     * @return Connection object
-     */
-    private Connection getDefaultEnterpriseOMRSTopicConnection(String localServerName)
-    {
-        final String endpointGUID      = "e0d88035-8522-42bc-b57f-06df05f15825";
-        final String connectorTypeGUID = "6536cb46-61f0-4f2d-abb4-2dadede30520";
-        final String connectionGUID    = "2084ee90-717b-49a1-938e-8f9d49567b8e";
-
-        final String endpointDescription = "OMRS default enterprise topic endpoint.";
-
-        String endpointAddress = defaultTopicRootName + defaultEnterpriseTopicConnectorRootName + localServerName + defaultTopicLeafName;
-        String endpointName    = "DefaultEnterpriseTopic.Endpoint." + endpointAddress;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(this.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(endpointAddress);
-
-
-        final String connectorTypeDescription   = "OMRS default enterprise connector type.";
-        final String connectorTypeJavaClassName = InMemoryOMRSTopicProvider.class.getName();
-
-        String connectorTypeName = "DefaultEnterpriseTopic.ConnectorType." + localServerName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-
-        final String connectionDescription = "OMRS default enterprise topic connection.";
-
-        String connectionName = "DefaultEnterpriseTopic.Connection." + localServerName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the connection for the OMRS topic for the named cohort.
-     *
-     * @param cohortName - name of the cohort
-     * @return Connection object
-     */
-    private Connection getDefaultCohortOMRSTopicConnection(String cohortName)
-    {
-        final String endpointGUID      = "dca783a1-d5f9-44a8-b838-4de4d016303d";
-        final String connectorTypeGUID = "32843dd8-2597-4296-831c-674af0d8b837";
-        final String connectionGUID    = "023bb1f3-03dd-47ae-b3bc-dce62e9c11cb";
-
-        final String endpointDescription = "OMRS default cohort topic endpoint.";
-
-        String endpointAddress = defaultTopicRootName + defaultCohortTopicConnectorRootName + cohortName + defaultTopicLeafName;
-        String endpointName    = "DefaultCohortTopic.Endpoint." + endpointAddress;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(this.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(endpointAddress);
-
-
-        final String connectorTypeDescription   = "OMRS default cohort topic connector type.";
-        final String connectorTypeJavaClassName = KafkaOMRSTopicProvider.class.getName();
-
-        String connectorTypeName = "DefaultCohortTopic.ConnectorType." + cohortName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-
-        final String connectionDescription = "OMRS default cohort topic connection.";
-
-        String connectionName = "DefaultCohortTopic.Connection." + cohortName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the connection to the default registry store called localServerName.cohortName.registrystore.
-     *
-     * @param localServerName - name of the local server
-     * @param cohortName - name of the cohort
-     * @return Connection object
-     */
-    private Connection getDefaultCohortRegistryConnection(String localServerName, String cohortName)
-    {
-        final String endpointGUID      = "8bf8f5fa-b5d8-40e1-a00e-e4a0c59fd6c0";
-        final String connectorTypeGUID = "2e1556a3-908f-4303-812d-d81b48b19bab";
-        final String connectionGUID    = "b9af734f-f005-4085-9975-bf46c67a099a";
-
-        final String endpointDescription = "OMRS default cohort registry endpoint.";
-
-        String endpointAddress = localServerName + "." + cohortName + ".registrystore";
-        String endpointName    = "DefaultCohortRegistry.Endpoint." + endpointAddress;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(this.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(endpointAddress);
-
-
-        final String connectorTypeDescription   = "OMRS default cohort registry connector type.";
-        final String connectorTypeJavaClassName = FileBasedRegistryStoreProvider.class.getName();
-
-        String connectorTypeName = "DefaultCohortRegistry.ConnectorType." + localServerName + "." + cohortName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(this.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorTypeJavaClassName);
-
-
-        final String connectionDescription = "OMRS default cohort registry connection.";
-
-        String connectionName = "DefaultCohortRegistry.Connection." + localServerName + "." + cohortName;
-
-        Connection connection = new Connection();
-
-        connection.setType(this.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        return connection;
-    }
-
-
-    /**
-     * Return the protocol level to use for communications with local open metadata access services through the open metadata
-     * enterprise repository services.
-     *
-     * @return protocol version
-     */
-    private OpenMetadataEventProtocolVersion getDefaultEnterpriseOMRSTopicProtocolVersion()
-    {
-        return OpenMetadataEventProtocolVersion.V1;
-    }
-
-
-    /**
-     * Return the protocol level to use for communications with other members of the open metadata repository cohort.
-     *
-     * @return protocol version
-     */
-    private OpenMetadataEventProtocolVersion getDefaultCohortOMRSTopicProtocolVersion()
-    {
-        return OpenMetadataEventProtocolVersion.V1;
-    }
-
-
-    /**
-     * Return the exchange rule set so that events for all local repository changes are sent.
-     *
-     * @return exchange rule
-     */
-    private OpenMetadataExchangeRule getDefaultEventsToSendRule()
-    {
-        return OpenMetadataExchangeRule.ALL;
-    }
-
-
-    /**
-     * Return the default list of types to send as a null because the exchange rule above is set to ALL.
-     *
-     * @return null array list
-     */
-    private ArrayList<TypeDefSummary> getDefaultSelectedTypesToSend()
-    {
-        return null;
-    }
-
-
-    /**
-     * Return the exchange rule set so that all received events are saved.
-     *
-     * @return exchange rule
-     */
-    private OpenMetadataExchangeRule getDefaultEventsToSaveRule()
-    {
-        return OpenMetadataExchangeRule.ALL;
-    }
-
-
-    /**
-     * Return the default list of types to save as a null because the exchange rule above is set to ALL.
-     *
-     * @return null array list
-     */
-    private ArrayList<TypeDefSummary> getDefaultSelectedTypesToSave()
-    {
-        return null;
-    }
-
-
-    /**
-     * Return the exchange rule set so that all incoming events are processed.
-     *
-     * @return exchange rule
-     */
-    private OpenMetadataExchangeRule getDefaultEventsToProcessRule()
-    {
-        return OpenMetadataExchangeRule.ALL;
-    }
-
-
-    /**
-     * Return the default list of types to process as a null because the exchange rule above is set to ALL.
-     *
-     * @return null array list
-     */
-    private ArrayList<TypeDefSummary> getDefaultSelectedTypesToProcess()
-    {
-        return null;
-    }
-
-
-    /**
-     * Returns the basic configuration for a local repository.
-     *
-     * @param localServerName - name of the local server
-     * @param localServerURL - URL root of local server used for REST calls
-     * @return LocalRepositoryConfig object
-     */
-    private LocalRepositoryConfig getDefaultLocalRepositoryConfig(String localServerName,
-                                                                  String localServerURL)
-    {
-        LocalRepositoryConfig localRepositoryConfig = new LocalRepositoryConfig();
-
-        localRepositoryConfig.setMetadataCollectionId(UUID.randomUUID().toString());
-        localRepositoryConfig.setLocalRepositoryLocalConnection(this.getDefaultLocalRepositoryLocalConnection());
-        localRepositoryConfig.setLocalRepositoryRemoteConnection(this.getDefaultLocalRepositoryRemoteConnection(
-                localServerName,
-                localServerURL));
-        localRepositoryConfig.setEventsToSaveRule(this.getDefaultEventsToSaveRule());
-        localRepositoryConfig.setSelectedTypesToSave(this.getDefaultSelectedTypesToSave());
-        localRepositoryConfig.setEventsToSendRule(this.getDefaultEventsToSendRule());
-        localRepositoryConfig.setSelectedTypesToSend(this.getDefaultSelectedTypesToSend());
-        localRepositoryConfig.setEventMapperConnection(this.getDefaultEventMapperConnection());
-
-        return localRepositoryConfig;
-    }
-
-
-    /**
-     * Return the configuration for an in-memory local repository.
-     *
-     * @param localServerName - name of the local server
-     * @param localServerURL  - URL root of local server used for REST calls
-     * @return LocalRepositoryConfig object
-     */
-    public LocalRepositoryConfig getInMemoryLocalRepositoryConfig(String localServerName, String localServerURL)
-    {
-        LocalRepositoryConfig localRepositoryConfig = this.getDefaultLocalRepositoryConfig(localServerName,
-                                                                                           localServerURL);
-
-        localRepositoryConfig.setLocalRepositoryLocalConnection(this.getInMemoryLocalRepositoryLocalConnection(
-                localServerName));
-
-        return localRepositoryConfig;
-    }
-
-
-    /**
-     * Return the configuration for a local repository that is using the built-in graph repository.
-     *
-     * @param localServerName - name of local server
-     * @param localServerURL  - URL root of local server used for REST calls
-     * @return LocalRepositoryConfig object
-     */
-    public LocalRepositoryConfig getLocalGraphLocalRepositoryConfig(String localServerName, String localServerURL)
-    {
-        LocalRepositoryConfig localRepositoryConfig = this.getDefaultLocalRepositoryConfig(localServerName,
-                                                                                           localServerURL);
-
-        localRepositoryConfig.setLocalRepositoryLocalConnection(this.getLocalGraphRepositoryLocalConnection(
-                localServerName));
-
-        return localRepositoryConfig;
-    }
-
-
-    /**
-     * Return the local repository configuration for a repository proxy.
-     *
-     * @param localServerName - name of local server
-     * @param localServerURL - url used to call local server
-     * @return LocalRepositoryConfig object
-     */
-    public LocalRepositoryConfig getRepositoryProxyLocalRepositoryConfig(String localServerName, String localServerURL)
-    {
-        LocalRepositoryConfig localRepositoryConfig = this.getDefaultLocalRepositoryConfig(localServerName,
-                                                                                           localServerURL);
-
-        localRepositoryConfig.setLocalRepositoryLocalConnection(null);
-
-        return localRepositoryConfig;
-    }
-
-
-    /**
-     * Return the default settings for the enterprise repository services' configuration.
-     *
-     * @param localServerName - name of the local server
-     * @return EnterpriseAccessConfig parameters
-     */
-    public EnterpriseAccessConfig getDefaultEnterpriseAccessConfig(String localServerName)
-    {
-        EnterpriseAccessConfig enterpriseAccessConfig = new EnterpriseAccessConfig();
-
-        enterpriseAccessConfig.setEnterpriseMetadataCollectionId(UUID.randomUUID().toString());
-        enterpriseAccessConfig.setEnterpriseMetadataCollectionName(localServerName + defaultEnterpriseMetadataCollectionName);
-        enterpriseAccessConfig.setEnterpriseOMRSTopicConnection(this.getDefaultEnterpriseOMRSTopicConnection(
-                localServerName));
-        enterpriseAccessConfig.setEnterpriseOMRSTopicProtocolVersion(this.getDefaultEnterpriseOMRSTopicProtocolVersion());
-
-        return enterpriseAccessConfig;
-    }
-
-
-    /**
-     * Return a CohortConfig object that is pre-configured with default values.
-     *
-     * @param localServerName - name of the local server
-     * @param cohortName      - name of the cohort
-     * @return default values in a CohortConfig object
-     */
-    public CohortConfig getDefaultCohortConfig(String localServerName, String cohortName)
-    {
-        CohortConfig cohortConfig  = new CohortConfig();
-        String       newCohortName = defaultCohortName;
-
-        if (cohortName != null)
-        {
-            newCohortName = cohortName;
-        }
-
-        cohortConfig.setCohortName(newCohortName);
-        cohortConfig.setCohortRegistryConnection(this.getDefaultCohortRegistryConnection(localServerName, newCohortName));
-        cohortConfig.setCohortOMRSTopicConnection(this.getDefaultCohortOMRSTopicConnection(newCohortName));
-        cohortConfig.setCohortOMRSTopicProtocolVersion(this.getDefaultCohortOMRSTopicProtocolVersion());
-        cohortConfig.setEventsToProcessRule(this.getDefaultEventsToProcessRule());
-        cohortConfig.setSelectedTypesToProcess(this.getDefaultSelectedTypesToProcess());
-
-        return cohortConfig;
-    }
-
-
-    /**
-     * Returns a repository services config with the audit log set up.
-     *
-     * @param localServerName - name of the local server
-     * @return minimally configured repository services config
-     */
-    public RepositoryServicesConfig getDefaultRepositoryServicesConfig(String localServerName)
-    {
-        RepositoryServicesConfig repositoryServicesConfig = new RepositoryServicesConfig();
-
-        List<Connection>   auditLogStoreConnections = new ArrayList<>();
-
-        auditLogStoreConnections.add(this.getDefaultAuditLogConnection(localServerName));
-
-        repositoryServicesConfig.setAuditLogConnections(auditLogStoreConnections);
-
-        return repositoryServicesConfig;
-    }
-
-
-    /**
-     * Return the standard type for an endpoint.
-     *
-     * @return ElementType object
-     */
-    public ElementType getEndpointType()
-    {
-        final String        elementTypeId                   = "dbc20663-d705-4ff0-8424-80c262c6b8e7";
-        final String        elementTypeName                 = "Endpoint";
-        final long          elementTypeVersion              = 1;
-        final String        elementTypeDescription          = "Description of the network address and related information needed to call a software service.";
-        final String        elementAccessServiceURL         = null;
-        final ElementOrigin elementOrigin                   = ElementOrigin.LOCAL_COHORT;
-        final String        elementHomeMetadataCollectionId = null;
-
-        ElementType elementType = new ElementType();
-
-        elementType.setElementTypeId(elementTypeId);
-        elementType.setElementTypeName(elementTypeName);
-        elementType.setElementTypeVersion(elementTypeVersion);
-        elementType.setElementTypeDescription(elementTypeDescription);
-        elementType.setElementAccessServiceURL(elementAccessServiceURL);
-        elementType.setElementOrigin(elementOrigin);
-        elementType.setElementHomeMetadataCollectionId(elementHomeMetadataCollectionId);
-
-        return elementType;
-    }
-
-
-    /**
-     * Return the standard type for a connector type.
-     *
-     * @return ElementType object
-     */
-    public ElementType getConnectorTypeType()
-    {
-        final String        elementTypeId                   = "954421eb-33a6-462d-a8ca-b5709a1bd0d4";
-        final String        elementTypeName                 = "ConnectorType";
-        final long          elementTypeVersion              = 1;
-        final String        elementTypeDescription          = "A set of properties describing a type of connector.";
-        final String        elementAccessServiceURL         = null;
-        final ElementOrigin elementOrigin                   = ElementOrigin.LOCAL_COHORT;
-        final String        elementHomeMetadataCollectionId = null;
-
-        ElementType elementType = new ElementType();
-
-        elementType.setElementTypeId(elementTypeId);
-        elementType.setElementTypeName(elementTypeName);
-        elementType.setElementTypeVersion(elementTypeVersion);
-        elementType.setElementTypeDescription(elementTypeDescription);
-        elementType.setElementAccessServiceURL(elementAccessServiceURL);
-        elementType.setElementOrigin(elementOrigin);
-        elementType.setElementHomeMetadataCollectionId(elementHomeMetadataCollectionId);
-
-        return elementType;
-    }
-
-
-    /**
-     * Return the standard type for a connection type.
-     *
-     * @return ElementType object
-     */
-    public ElementType getConnectionType()
-    {
-        final String        elementTypeId                   = "114e9f8f-5ff3-4c32-bd37-a7eb42712253";
-        final String        elementTypeName                 = "Connection";
-        final long          elementTypeVersion              = 1;
-        final String        elementTypeDescription          = "A set of properties to identify and configure a connector instance.";
-        final String        elementAccessServiceURL         = null;
-        final ElementOrigin elementOrigin                   = ElementOrigin.LOCAL_COHORT;
-        final String        elementHomeMetadataCollectionId = null;
-
-        ElementType elementType = new ElementType();
-
-        elementType.setElementTypeId(elementTypeId);
-        elementType.setElementTypeName(elementTypeName);
-        elementType.setElementTypeVersion(elementTypeVersion);
-        elementType.setElementTypeDescription(elementTypeDescription);
-        elementType.setElementAccessServiceURL(elementAccessServiceURL);
-        elementType.setElementOrigin(elementOrigin);
-        elementType.setElementHomeMetadataCollectionId(elementHomeMetadataCollectionId);
-
-        return elementType;
-    }
-}