http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omag-api/src/main/java/org/apache/atlas/omag/admin/server/OMAGServerAdminResource.java
----------------------------------------------------------------------
diff --git 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/OMAGServerAdminResource.java
 
b/omag-api/src/main/java/org/apache/atlas/omag/admin/server/OMAGServerAdminResource.java
deleted file mode 100644
index ebc9f2a..0000000
--- 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/OMAGServerAdminResource.java
+++ /dev/null
@@ -1,1379 +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.omag.admin.server;
-
-import org.apache.atlas.ocf.Connector;
-import org.apache.atlas.ocf.ConnectorBroker;
-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.omag.admin.LocalRepositoryMode;
-import org.apache.atlas.omag.admin.OMAGServerAdministration;
-import org.apache.atlas.omag.admin.OMAGServiceMode;
-import org.apache.atlas.omag.configuration.properties.AccessServiceConfig;
-import org.apache.atlas.omag.configuration.properties.OMAGServerConfig;
-import org.apache.atlas.omag.configuration.registration.AccessServiceAdmin;
-import 
org.apache.atlas.omag.configuration.registration.AccessServiceOperationalStatus;
-import 
org.apache.atlas.omag.configuration.registration.AccessServiceRegistration;
-import org.apache.atlas.omag.configuration.store.OMAGServerConfigStore;
-import 
org.apache.atlas.omag.configuration.store.file.FileBasedServerConfigStoreProvider;
-import org.apache.atlas.omag.ffdc.OMAGErrorCode;
-import org.apache.atlas.omag.ffdc.exception.OMAGConfigurationErrorException;
-import org.apache.atlas.omag.ffdc.exception.OMAGInvalidParameterException;
-import org.apache.atlas.omag.ffdc.exception.OMAGNotAuthorizedException;
-import org.apache.atlas.omrs.admin.OMRSConfigurationFactory;
-import org.apache.atlas.omrs.admin.OMRSOperationalServices;
-import org.apache.atlas.omrs.admin.properties.CohortConfig;
-import org.apache.atlas.omrs.admin.properties.EnterpriseAccessConfig;
-import org.apache.atlas.omrs.admin.properties.LocalRepositoryConfig;
-import org.apache.atlas.omrs.admin.properties.RepositoryServicesConfig;
-import org.apache.atlas.omrs.topicconnectors.OMRSTopicConnector;
-import org.springframework.web.bind.annotation.*;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-/**
- * OMAGServerAdminResource provides the server-side implementation of the 
administrative interface for
- * an Open Metadata and Governance (OMAG) Server.  It provides all of the
- * configuration properties for the Open Metadata Access Services (OMASs) and 
delegates administration requests
- * to the Open Metadata Repository Services (OMRS).
- * <p>
- * There are four types of operations defined by OMAGServerAdministration 
interface:
- * </p>
- * <ul>
- * <li>
- * Basic configuration - these methods use the minimum of configuration 
information to run the
- * server using default properties.
- * </li>
- * <li>
- * Advanced Configuration - provides access to all configuration properties to 
provide
- * fine-grained control of the server.
- * </li>
- * <li>
- * Initialization and shutdown - these methods control the initialization and 
shutdown of the
- * open metadata and governance service instance based on the supplied 
configuration.
- * </li>
- * <li>
- * Operational status and control - these methods query the status of the open 
metadata and governance
- * services as well as the audit log.
- * </li>
- * </ul>
- */
-@RestController
-@RequestMapping("/omag/admin/{userId}/{serverName}")
-public class OMAGServerAdminResource implements OMAGServerAdministration
-{
-    private OMAGServerConfigStore    serverConfigStore      = null;
-    private OMRSOperationalServices  operationalServices    = null;
-    private List<AccessServiceAdmin> accessServiceAdminList = new 
ArrayList<>();
-
-
-
-    /*
-     * =============================================================
-     * Configure server - basic options using defaults
-     */
-
-    /**
-     * Set up the root URL for this server that is used to construct full URL 
paths to calls for
-     * this server's REST interfaces.  The default value is "localhost:8080".
-     *
-     * @param userId        - user that is issuing the request.
-     * @param serverName    - local server name.
-     * @param url           - String url.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
serverURLRoot parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = "/server-url-root")
-    public void setServerURLRoot(@PathVariable String userId,
-                                 @PathVariable String serverName,
-                                 @RequestParam String url) throws 
OMAGNotAuthorizedException,
-                                                                            
OMAGInvalidParameterException
-    {
-        final String methodName = "setServerURLRoot()";
-        final String omagName   = "/omag/";
-
-        validateUserId(userId, serverName, methodName);
-        validateServerName(serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        serverConfig.setLocalServerURL(url + omagName + serverName);
-
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /**
-     * Set up the descriptive type of the server.  This value is added to 
distributed events to
-     * make it easier to understand the source of events.  The default value 
is "Open Metadata and Governance Server".
-     *
-     * @param userId     - user that is issuing the request.
-     * @param serverName - local server name.
-     * @param typeName   - short description for the type of server.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
serverType parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = "/server-type")
-    public void setServerType(@PathVariable String userId,
-                              @PathVariable String serverName,
-                              @RequestParam String typeName) throws 
OMAGNotAuthorizedException,
-                                                                      
OMAGInvalidParameterException
-    {
-        final String methodName = "setServerType()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        serverConfig.setLocalServerType(typeName);
-
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /**
-     * Set up the name of the organization that is running this server.  This 
value is added to distributed events to
-     * make it easier to understand the source of events.  The default value 
is null.
-     *
-     * @param userId           - user that is issuing the request.
-     * @param serverName       - local server name.
-     * @param name             - String name of the organization.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
organizationName parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = "/organization-name")
-    public void setOrganizationName(@PathVariable String userId,
-                                    @PathVariable String serverName,
-                                    @RequestParam String name) throws 
OMAGNotAuthorizedException,
-                                                                               
   OMAGInvalidParameterException
-    {
-        final String methodName = "setOrganizationName()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        serverConfig.setOrganizationName(name);
-
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /**
-     * Set an upper limit in the page size that can be requested on a REST 
call to the server.  The default
-     * value is 1000.
-     *
-     * @param userId - user that is issuing the request.
-     * @param serverName - local server name.
-     * @param maxPageSize - max number of elements that can be returned on a 
request.
-     * @throws OMAGNotAuthorizedException - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
maxPageSize parameter.
-     */
-    public void setMaxPageSize(String  userId,
-                               String  serverName,
-                               int     maxPageSize) throws 
OMAGNotAuthorizedException,
-                                                           
OMAGInvalidParameterException
-    {
-        final String methodName = "setMaxPageSize()";
-
-        /*
-         * Validate and set up the userName and server name.
-         */
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        if (maxPageSize > 0)
-        {
-            OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-            serverConfig.setMaxPageSize(maxPageSize);
-
-            this.saveServerConfig(serverConfig);
-        }
-        else
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.BAD_MAX_PAGE_SIZE;
-            String        errorMessage = errorCode.getErrorMessageId()
-                                       + 
errorCode.getFormattedErrorMessage(serverName, Integer.toString(maxPageSize));
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-    }
-
-
-    /**
-     * Set up whether the open metadata access services should be enabled or 
not.  This is controlled by the
-     * serviceMode parameter.   The configuration properties for each access 
service can be changed from
-     * their default using setAccessServicesConfig operation.
-     * <p>
-     * In addition to enabling the access services, this method also enables 
the OMRS Enterprise Repository Services
-     * that supports the enterprise access layer used by the open metadata 
access services.
-     *
-     * @param userId      - user that is issuing the request.
-     * @param serverName  - local server name.
-     * @param serviceMode - OMAGServiceMode enum.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
serviceMode parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/access-services/mode")
-    public void setAccessServicesMode(@PathVariable String          userId,
-                                      @PathVariable String          serverName,
-                                      @RequestParam OMAGServiceMode 
serviceMode) throws OMAGNotAuthorizedException,
-                                                                               
         OMAGInvalidParameterException
-    {
-        final String methodName = "setAccessServicesMode()";
-
-        /*
-         * Validate and set up the userName and server name.
-         */
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-        validateServiceMode(serviceMode, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        ArrayList<AccessServiceConfig> accessServiceConfigList  = new 
ArrayList<>();
-        EnterpriseAccessConfig         enterpriseAccessConfig   = null;
-
-        if (serviceMode == OMAGServiceMode.ENABLED)
-        {
-            List<AccessServiceRegistration> accessServiceRegistrationList = 
OMAGAccessServiceRegistration.getAccessServiceRegistrationList();
-
-            /*
-             * Set up the available access services.
-             */
-            if (accessServiceRegistrationList != null)
-            {
-                for (AccessServiceRegistration  registration : 
accessServiceRegistrationList)
-                {
-                    if (registration != null)
-                    {
-                        if (registration.getAccessServiceOperationalStatus() 
== AccessServiceOperationalStatus.ENABLED)
-                        {
-                            AccessServiceConfig accessServiceConfig = new 
AccessServiceConfig(registration);
-                            accessServiceConfigList.add(accessServiceConfig);
-                        }
-                    }
-                }
-            }
-
-
-            /*
-             * Now set up the enterprise repository services.
-             */
-            OMRSConfigurationFactory configurationFactory = new 
OMRSConfigurationFactory();
-            enterpriseAccessConfig = 
configurationFactory.getDefaultEnterpriseAccessConfig(serverConfig.getLocalServerName());
-        }
-
-        if (accessServiceConfigList.isEmpty())
-        {
-            accessServiceConfigList = null;
-        }
-
-        this.setAccessServicesConfig(userId, serverName, 
accessServiceConfigList);
-        this.setEnterpriseAccessConfig(userId, serverName, 
enterpriseAccessConfig);
-    }
-
-
-    /**
-     * Set up the type of local repository.  There are three choices: No local 
Repository, Local Graph Repository
-     * and Repository Proxy.  The default is No Local Repository.  If the 
local repository mode is set to
-     * Repository Proxy then it is necessary to provide the connection to the 
local repository using the
-     * setRepositoryProxyConnection operation.
-     *
-     * @param userId              - user that is issuing the request.
-     * @param serverName          - local server name.
-     * @param repositoryMode      - LocalRepositoryMode enum - 
NO_LOCAL_REPOSITORY, IN_MEMORY_REPOSITORY,
-     *                            LOCAL_GRAPH_REPOSITORY or REPOSITORY_PROXY.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
localRepositoryMode parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/local-repository/mode")
-    public void setLocalRepositoryMode(@PathVariable String userId,
-                                       @PathVariable String serverName,
-                                       @RequestParam LocalRepositoryMode 
repositoryMode) throws OMAGNotAuthorizedException,
-                                                                               
                      OMAGInvalidParameterException
-    {
-        final String methodName = "setLocalRepositoryMode()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        /*
-         * The local repository mode should not be null.
-         */
-        if (repositoryMode == null)
-        {
-            OMAGErrorCode errorCode    = 
OMAGErrorCode.NULL_LOCAL_REPOSITORY_MODE;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-
-        LocalRepositoryConfig    localRepositoryConfig    = null;
-        OMRSConfigurationFactory configurationFactory     = new 
OMRSConfigurationFactory();
-
-        switch (repositoryMode)
-        {
-            case NO_LOCAL_REPOSITORY:
-                localRepositoryConfig = null;
-                break;
-
-            case IN_MEMORY_REPOSITORY:
-                localRepositoryConfig = 
configurationFactory.getInMemoryLocalRepositoryConfig(serverConfig.getLocalServerName(),
-                                                                               
               serverConfig.getLocalServerURL());
-                break;
-
-            case LOCAL_GRAPH_REPOSITORY:
-                localRepositoryConfig = 
configurationFactory.getLocalGraphLocalRepositoryConfig(serverConfig.getLocalServerName(),
-                                                                               
                 serverConfig.getLocalServerURL());
-                break;
-
-            case REPOSITORY_PROXY:
-                localRepositoryConfig = 
configurationFactory.getRepositoryProxyLocalRepositoryConfig(serverConfig.getLocalServerName(),
-                                                                               
                      serverConfig.getLocalServerURL());
-                break;
-
-        }
-
-        this.setLocalRepositoryConfig(userId, serverName, 
localRepositoryConfig);
-    }
-
-
-    /**
-     * Provide the connection to the local repository - used when the local 
repository mode is set to repository proxy.
-     *
-     * @param userId                    - user that is issuing the request.
-     * @param serverName                - local server name.
-     * @param connection                - connection to the OMRS repository 
connector.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
repositoryProxyConnection parameter
-     * @throws OMAGConfigurationErrorException - the local repository mode has 
not been set
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/local-repository/proxy-connection")
-    public void setRepositoryProxyConnection(@PathVariable String     userId,
-                                             @PathVariable String     
serverName,
-                                             @RequestParam Connection 
connection) throws OMAGNotAuthorizedException,
-                                                                               
                         OMAGInvalidParameterException,
-                                                                               
                         OMAGConfigurationErrorException
-    {
-        final String methodName = "setRepositoryProxyConnection()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        RepositoryServicesConfig repositoryServicesConfig = 
serverConfig.getRepositoryServicesConfig();
-        LocalRepositoryConfig    localRepositoryConfig    = null;
-
-        /*
-         * Extract any existing local repository configuration
-         */
-        if (repositoryServicesConfig != null)
-        {
-            localRepositoryConfig = 
repositoryServicesConfig.getLocalRepositoryConfig();
-        }
-
-        /*
-         * If the local repository config is null then the local repository 
mode is not set up
-         */
-        if (localRepositoryConfig == null)
-        {
-            OMAGErrorCode errorCode    = 
OMAGErrorCode.LOCAL_REPOSITORY_MODE_NOT_SET;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGConfigurationErrorException(errorCode.getHTTPErrorCode(),
-                                                      
this.getClass().getName(),
-                                                      methodName,
-                                                      errorMessage,
-                                                      
errorCode.getSystemAction(),
-                                                      
errorCode.getUserAction());
-        }
-
-        /*
-         * Set up the repository proxy connection in the local repository 
config
-         */
-        localRepositoryConfig.setLocalRepositoryLocalConnection(connection);
-
-        this.setLocalRepositoryConfig(userId, serverName, 
localRepositoryConfig);
-    }
-
-
-    /**
-     * Provide the connection to the local repository - used when the local 
repository mode is set to repository proxy.
-     *
-     * @param userId                    - user that is issuing the request.
-     * @param serverName                - local server name.
-     * @param connectorProvider         - connector provider class name to the 
OMRS repository connector.
-     * @param url                       - URL of the repository's native REST 
API.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
repositoryProxyConnection parameter
-     * @throws OMAGConfigurationErrorException - the local repository mode has 
not been set
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/local-repository/proxy-details")
-    public void setRepositoryProxyConnection(@PathVariable String userId,
-                                             @PathVariable String serverName,
-                                             @RequestParam String 
connectorProvider,
-                                             @RequestParam String url) throws 
OMAGNotAuthorizedException,
-                                                                              
OMAGInvalidParameterException,
-                                                                              
OMAGConfigurationErrorException
-    {
-        final String methodName               = 
"setRepositoryProxyConnection()";
-        final String endpointGUID             = UUID.randomUUID().toString();
-        final String connectorTypeGUID        = UUID.randomUUID().toString();
-        final String connectionGUID           = UUID.randomUUID().toString();
-        final String endpointDescription      = "Metadata repository native 
endpoint.";
-        final String connectorTypeDescription = "Metadata repository native 
connector type.";
-        final String connectionDescription    = "Metadata repository native 
connection.";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMRSConfigurationFactory configurationFactory = new 
OMRSConfigurationFactory();
-
-        String endpointName    = "MetadataRepositoryNative.Endpoint." + 
serverName;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(configurationFactory.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(url);
-
-        String connectorTypeName = "MetadataRepositoryNative.ConnectorType." + 
serverName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(configurationFactory.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorProvider);
-
-        String connectionName = "MetadataRepositoryNative.Connection." + 
serverName;
-
-        Connection connection = new Connection();
-
-        connection.setType(configurationFactory.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        this.setRepositoryProxyConnection(userId, serverName, connection);
-    }
-
-
-    /**
-     * Provide the connection to the local repository's event mapper if 
needed.  The default value is null which
-     * means no event mapper.  An event mapper is needed if the local 
repository has additional APIs that can change
-     * the metadata in the repository without going through the open metadata 
and governance services.
-     *
-     * @param userId                     - user that is issuing the request.
-     * @param serverName                 - local server name.
-     * @param connection - connection to the OMRS repository event mapper.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
localRepositoryEventMapper parameter.
-     * @throws OMAGConfigurationErrorException - the local repository mode has 
not been set
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/local-repository/event-mapper-connection")
-    public void setLocalRepositoryEventMapper(@PathVariable String     userId,
-                                              @PathVariable String     
serverName,
-                                              @RequestParam Connection 
connection) throws OMAGNotAuthorizedException,
-                                                                               
                           OMAGInvalidParameterException,
-                                                                               
                           OMAGConfigurationErrorException
-    {
-        final String methodName = "setLocalRepositoryEventMapper()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        RepositoryServicesConfig repositoryServicesConfig = 
serverConfig.getRepositoryServicesConfig();
-        LocalRepositoryConfig    localRepositoryConfig    = null;
-
-        /*
-         * Extract any existing local repository configuration
-         */
-        if (repositoryServicesConfig != null)
-        {
-            localRepositoryConfig = 
repositoryServicesConfig.getLocalRepositoryConfig();
-        }
-
-        /*
-         * The local repository should be partially configured already by 
setLocalRepositoryMode()
-         */
-        if (localRepositoryConfig == null)
-        {
-            OMAGErrorCode errorCode    = 
OMAGErrorCode.LOCAL_REPOSITORY_MODE_NOT_SET;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGConfigurationErrorException(errorCode.getHTTPErrorCode(),
-                                                      
this.getClass().getName(),
-                                                      methodName,
-                                                      errorMessage,
-                                                      
errorCode.getSystemAction(),
-                                                      
errorCode.getUserAction());
-        }
-
-        /*
-         * Set up the event mapper connection in the local repository config
-         */
-        localRepositoryConfig.setEventMapperConnection(connection);
-
-        this.setLocalRepositoryConfig(userId, serverName, 
localRepositoryConfig);
-    }
-
-
-    /**
-     * Provide the connection to the local repository's event mapper if 
needed.  The default value is null which
-     * means no event mapper.  An event mapper is needed if the local 
repository has additional APIs that can change
-     * the metadata in the repository without going through the open metadata 
and governance services.
-     *
-     * @param userId                     - user that is issuing the request.
-     * @param serverName                 - local server name.
-     * @param connectorProvider          - Java class name of the connector 
provider for the OMRS repository event mapper.
-     * @param eventSource                - topic name or URL to the native 
event source.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
localRepositoryEventMapper parameter.
-     * @throws OMAGConfigurationErrorException - the local repository mode has 
not been set
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/local-repository/event-mapper-details")
-    public void setLocalRepositoryEventMapper(@PathVariable String     userId,
-                                              @PathVariable String     
serverName,
-                                              @RequestParam String     
connectorProvider,
-                                              @RequestParam String     
eventSource) throws OMAGNotAuthorizedException,
-                                                                               
            OMAGInvalidParameterException,
-                                                                               
            OMAGConfigurationErrorException
-    {
-        final String methodName = "setLocalRepositoryEventMapper()";
-        final String endpointGUID             = UUID.randomUUID().toString();
-        final String connectorTypeGUID        = UUID.randomUUID().toString();
-        final String connectionGUID           = UUID.randomUUID().toString();
-        final String endpointDescription      = "Event mapper endpoint.";
-        final String connectorTypeDescription = "Event mapper connector type.";
-        final String connectionDescription    = "Event mapper connection.";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMRSConfigurationFactory configurationFactory = new 
OMRSConfigurationFactory();
-
-        String endpointName    = "EventMapper.Endpoint." + serverName;
-
-        Endpoint endpoint = new Endpoint();
-
-        endpoint.setType(configurationFactory.getEndpointType());
-        endpoint.setGUID(endpointGUID);
-        endpoint.setQualifiedName(endpointName);
-        endpoint.setDisplayName(endpointName);
-        endpoint.setDescription(endpointDescription);
-        endpoint.setAddress(eventSource);
-
-        String connectorTypeName = "EventMapper.ConnectorType." + serverName;
-
-        ConnectorType connectorType = new ConnectorType();
-
-        connectorType.setType(configurationFactory.getConnectorTypeType());
-        connectorType.setGUID(connectorTypeGUID);
-        connectorType.setQualifiedName(connectorTypeName);
-        connectorType.setDisplayName(connectorTypeName);
-        connectorType.setDescription(connectorTypeDescription);
-        connectorType.setConnectorProviderClassName(connectorProvider);
-
-        String connectionName = "EventMapper.Connection." + serverName;
-
-        Connection connection = new Connection();
-
-        connection.setType(configurationFactory.getConnectionType());
-        connection.setGUID(connectionGUID);
-        connection.setQualifiedName(connectionName);
-        connection.setDisplayName(connectionName);
-        connection.setDescription(connectionDescription);
-        connection.setEndpoint(endpoint);
-        connection.setConnectorType(connectorType);
-
-        this.setLocalRepositoryEventMapper(userId, serverName, connection);
-    }
-
-
-    /**
-     * Set up the mode for an open metadata repository cohort.  This is a 
group of open metadata repositories that
-     * are sharing metadata.  An OMAG server can connect to zero, one or more 
cohorts.  Each cohort needs
-     * a unique name.  The members of the cohort use a shared topic to 
exchange registration information and
-     * events related to changes in their supported metadata types and 
instances.  They are also able to
-     * query each other's metadata directly through REST calls.
-     *
-     * @param userId      - user that is issuing the request.
-     * @param serverName  - local server name.
-     * @param cohortName  - name of the cohort.
-     * @param serviceMode - OMAGServiceMode enum - ENABLED or DISABLED.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName, cohortName 
or serviceMode parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/cohort/{cohortName}/mode")
-    public void setCohortMode(@PathVariable String          userId,
-                              @PathVariable String          serverName,
-                              @PathVariable String          cohortName,
-                              @RequestParam OMAGServiceMode serviceMode) 
throws OMAGNotAuthorizedException,
-                                                                               
 OMAGInvalidParameterException
-    {
-        final String methodName = "setCohortMode()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-        validateCohortName(cohortName, serverName, methodName);
-        validateServiceMode(serviceMode, serverName, methodName);
-
-        OMAGServerConfig serverConfig    = this.getServerConfig(serverName, 
methodName);
-        CohortConfig     newCohortConfig = null;
-
-        /*
-         * Build a new cohort configuration if requested.
-         */
-        if (serviceMode == OMAGServiceMode.ENABLED)
-        {
-            /*
-             * Set up a new cohort
-             */
-            OMRSConfigurationFactory configurationFactory = new 
OMRSConfigurationFactory();
-
-            newCohortConfig = 
configurationFactory.getDefaultCohortConfig(serverConfig.getLocalServerName(), 
cohortName);
-        }
-
-        this.setCohortConfig(userId, serverName, cohortName, newCohortConfig);
-    }
-
-    /*
-     * =============================================================
-     * Configure server - advanced options overriding defaults
-     */
-
-
-    /**
-     * Set up the configuration for all of the open metadata access services 
(OMASs).  This overrides
-     * the current values.
-     *
-     * @param userId               - user that is issuing the request.
-     * @param serverName           - local server name.
-     * @param accessServicesConfig - list of configuration properties for each 
access service.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
accessServicesConfig parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/access-services/configuration")
-    public void setAccessServicesConfig(@PathVariable String                   
 userId,
-                                        @PathVariable String                   
 serverName,
-                                        @RequestParam 
List<AccessServiceConfig> accessServicesConfig) throws 
OMAGNotAuthorizedException,
-                                                                               
                              OMAGInvalidParameterException
-    {
-        final String methodName = "setAccessServicesConfig()";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        serverConfig.setAccessServicesConfig(accessServicesConfig);
-
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /**
-     * Set up the configuration for the local repository.  This overrides the 
current values.
-     *
-     * @param userId                - user that is issuing the request.
-     * @param serverName            - local server name.
-     * @param localRepositoryConfig - configuration properties for the local 
repository.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
localRepositoryConfig parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/local-repository/configuration")
-    public void setLocalRepositoryConfig(@PathVariable String                
userId,
-                                         @PathVariable String                
serverName,
-                                         @RequestParam LocalRepositoryConfig 
localRepositoryConfig) throws OMAGNotAuthorizedException,
-                                                                               
                            OMAGInvalidParameterException
-    {
-        final String methodName = "setLocalRepositoryConfig";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        RepositoryServicesConfig repositoryServicesConfig = 
serverConfig.getRepositoryServicesConfig();
-
-        /*
-         * Set up the local repository config in the open metadata repository 
services config.
-         */
-        if (repositoryServicesConfig != null)
-        {
-            
repositoryServicesConfig.setLocalRepositoryConfig(localRepositoryConfig);
-        }
-        else if (localRepositoryConfig != null)
-        {
-            OMRSConfigurationFactory configurationFactory     = new 
OMRSConfigurationFactory();
-
-            repositoryServicesConfig = 
configurationFactory.getDefaultRepositoryServicesConfig(serverConfig.getLocalServerName());
-            
repositoryServicesConfig.setLocalRepositoryConfig(localRepositoryConfig);
-        }
-
-        /*
-         * Save the open metadata repository services config in the server's 
config
-         */
-        serverConfig.setRepositoryServicesConfig(repositoryServicesConfig);
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /**
-     * Set up the configuration that controls the enterprise repository 
services.  These services are part
-     * of the Open Metadata Repository Services (OMRS).  They provide 
federated queries and federated event
-     * notifications that cover metadata from the local repository plus any 
repositories connected via
-     * open metadata repository cohorts.
-     *
-     * @param userId                 - user that is issuing the request
-     * @param serverName             - local server name
-     * @param enterpriseAccessConfig - enterprise repository services 
configuration properties.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName or 
enterpriseAccessConfig parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/enterprise-access/configuration")
-    public void setEnterpriseAccessConfig(@PathVariable String                 
userId,
-                                          @PathVariable String                 
serverName,
-                                          @RequestParam EnterpriseAccessConfig 
enterpriseAccessConfig) throws OMAGNotAuthorizedException,
-                                                                               
                               OMAGInvalidParameterException
-    {
-        final String methodName = "setEnterpriseAccessConfig";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        OMAGServerConfig serverConfig = this.getServerConfig(serverName, 
methodName);
-
-        RepositoryServicesConfig repositoryServicesConfig = 
serverConfig.getRepositoryServicesConfig();
-
-        if (repositoryServicesConfig != null)
-        {
-            
repositoryServicesConfig.setEnterpriseAccessConfig(enterpriseAccessConfig);
-        }
-        else if (enterpriseAccessConfig != null)
-        {
-            OMRSConfigurationFactory configurationFactory     = new 
OMRSConfigurationFactory();
-
-            repositoryServicesConfig = 
configurationFactory.getDefaultRepositoryServicesConfig(serverConfig.getLocalServerName());
-
-            
repositoryServicesConfig.setEnterpriseAccessConfig(enterpriseAccessConfig);
-        }
-
-        serverConfig.setRepositoryServicesConfig(repositoryServicesConfig);
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /**
-     * Set up the configuration properties for a cohort.  This may reconfigure 
an existing cohort or create a
-     * cohort.  Use setCohortMode to delete a cohort.
-     *
-     * @param userId       - user that is issuing the request
-     * @param serverName   - local server name
-     * @param cohortName   - name of the cohort
-     * @param cohortConfig - configuration for the cohort
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName, cohortName 
or cohortConfig parameter.
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/cohort/{cohortName}/configuration")
-    public void setCohortConfig(@PathVariable String       userId,
-                                @PathVariable String       serverName,
-                                @PathVariable String       cohortName,
-                                @RequestParam CohortConfig cohortConfig) 
throws OMAGNotAuthorizedException,
-                                                                               
 OMAGInvalidParameterException
-    {
-        final String methodName = "setCohortConfig";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-        validateCohortName(cohortName, serverName, methodName);
-
-        OMAGServerConfig         serverConfig = 
this.getServerConfig(serverName, methodName);
-        OMRSConfigurationFactory configurationFactory = new 
OMRSConfigurationFactory();
-        RepositoryServicesConfig repositoryServicesConfig = 
serverConfig.getRepositoryServicesConfig();
-        List<CohortConfig>       existingCohortConfigs = null;
-        List<CohortConfig>       newCohortConfigs = new ArrayList<>();
-
-        /*
-         * Extract any existing local repository configuration
-         */
-        if (repositoryServicesConfig != null)
-        {
-            existingCohortConfigs = 
repositoryServicesConfig.getCohortConfigList();
-        }
-
-        /*
-         * Transfer the cohort configurations of all other cohorts into the 
new cohort list
-         */
-        if (existingCohortConfigs != null)
-        {
-            /*
-             * If there is already a cohort of the same name then effectively 
remove it.
-             */
-            for (CohortConfig existingCohort : existingCohortConfigs)
-            {
-                if (existingCohort != null)
-                {
-                    String existingCohortName = existingCohort.getCohortName();
-
-                    if (! cohortName.equals(existingCohortName))
-                    {
-                        newCohortConfigs.add(existingCohort);
-                    }
-                }
-            }
-        }
-
-        /*
-         * Add the new cohort to the list of cohorts
-         */
-        if (cohortConfig != null)
-        {
-            newCohortConfigs.add(cohortConfig);
-        }
-
-        /*
-         * If there are no cohorts to save then remove the array list.
-         */
-        if (newCohortConfigs.isEmpty())
-        {
-            newCohortConfigs = null;
-        }
-
-        /*
-         * Add the cohort list to the open metadata repository services config
-         */
-        if (repositoryServicesConfig != null)
-        {
-            repositoryServicesConfig.setCohortConfigList(newCohortConfigs);
-        }
-        else if (newCohortConfigs != null)
-        {
-            repositoryServicesConfig = 
configurationFactory.getDefaultRepositoryServicesConfig(serverConfig.getLocalServerName());
-
-            repositoryServicesConfig.setCohortConfigList(newCohortConfigs);
-        }
-
-        serverConfig.setRepositoryServicesConfig(repositoryServicesConfig);
-        this.saveServerConfig(serverConfig);
-    }
-
-
-    /*
-     * =============================================================
-     * Query current configuration
-     */
-
-
-    /**
-     * Return the complete set of configuration properties in use by the 
server.
-     *
-     * @param userId     - user that is issuing the request
-     * @param serverName - local server name
-     * @return OMAGServerConfig properties
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - invalid serverName parameter.
-     */
-    @RequestMapping(method = RequestMethod.GET, path = "/configuration")
-    public OMAGServerConfig getCurrentConfiguration(@PathVariable String 
userId,
-                                                    @PathVariable String 
serverName) throws OMAGNotAuthorizedException,
-                                                                               
             OMAGInvalidParameterException
-    {
-        final String methodName = "getCurrentConfiguration";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        return this.getServerConfig(serverName, methodName);
-    }
-
-
-    /*
-     * =============================================================
-     * Initialization and shutdown
-     */
-
-    /**
-     * Initialize the open metadata and governance services using the stored 
configuration information.
-     *
-     * @param userId     - user that is issuing the request
-     * @param serverName - local server name
-     * @throws OMAGConfigurationErrorException - there is a problem using the 
supplied configuration
-     */
-    @RequestMapping(method = RequestMethod.POST, path = "/instance")
-    public void initialize(@PathVariable String userId,
-                           @PathVariable String serverName) throws 
OMAGNotAuthorizedException,
-                                                                   
OMAGInvalidParameterException,
-                                                                   
OMAGConfigurationErrorException
-    {
-        final String methodName = "initialize";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        this.initialize(userId, serverName, this.getServerConfig(serverName, 
methodName));
-    }
-
-
-    /**
-     * Initialize the open metadata and governance services using the supplied 
information.
-     *
-     * @param userId        - user that is issuing the request
-     * @param configuration - properties used to initialize the services
-     * @param serverName    - local server name
-     * @throws OMAGNotAuthorizedException      - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException   - the serverName is invalid.
-     * @throws OMAGConfigurationErrorException - there is a problem using the 
supplied configuration
-     */
-    @RequestMapping(method = RequestMethod.POST, path = 
"/instance/configuration")
-    public void initialize(@PathVariable String           userId,
-                           @PathVariable String           serverName,
-                           @RequestParam OMAGServerConfig configuration) 
throws OMAGNotAuthorizedException,
-                                                                               
 OMAGInvalidParameterException,
-                                                                               
 OMAGConfigurationErrorException
-    {
-        final String methodName = "initialize";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        if (configuration == null)
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_SERVER_CONFIG;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-        else
-        {
-            this.saveServerConfig(configuration);
-        }
-
-        /*
-         * Initialize the open metadata repository services first
-         */
-        RepositoryServicesConfig  repositoryServicesConfig = 
configuration.getRepositoryServicesConfig();
-
-        if (repositoryServicesConfig == null)
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_REPOSITORY_CONFIG;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGConfigurationErrorException(errorCode.getHTTPErrorCode(),
-                                                      
this.getClass().getName(),
-                                                      methodName,
-                                                      errorMessage,
-                                                      
errorCode.getSystemAction(),
-                                                      
errorCode.getUserAction());
-        }
-        else if (operationalServices != null)
-        {
-            this.terminate(userId, serverName, false);
-        }
-
-        operationalServices = new 
OMRSOperationalServices(configuration.getLocalServerName(),
-                                                          
configuration.getLocalServerType(),
-                                                          
configuration.getOrganizationName(),
-                                                          
configuration.getLocalServerURL(),
-                                                          
configuration.getMaxPageSize());
-
-        operationalServices.initialize(repositoryServicesConfig);
-
-        /*
-         * Now initialize the open metadata access services
-         */
-        List<AccessServiceConfig> accessServiceConfigList  = 
configuration.getAccessServicesConfig();
-        OMRSTopicConnector        enterpriseTopicConnector = 
operationalServices.getEnterpriseOMRSTopicConnector();
-
-        if (accessServiceConfigList != null)
-        {
-            for (AccessServiceConfig  accessServiceConfig : 
accessServiceConfigList)
-            {
-                if (accessServiceConfig != null)
-                {
-                    String    accessServiceAdminClassName = 
accessServiceConfig.getAccessServiceAdminClass();
-
-                    if (accessServiceAdminClassName != null)
-                    {
-                        try
-                        {
-                            AccessServiceAdmin   accessServiceAdmin = 
(AccessServiceAdmin)Class.forName(accessServiceAdminClassName).newInstance();
-
-                            accessServiceAdmin.initialize(accessServiceConfig,
-                                                          
enterpriseTopicConnector,
-                                                          
operationalServices.getEnterpriseOMRSRepositoryConnector(accessServiceConfig.getAccessServiceName()),
-                                                          
operationalServices.getAuditLog(accessServiceConfig.getAccessServiceId(),
-                                                                               
           accessServiceConfig.getAccessServiceName(),
-                                                                               
           accessServiceConfig.getAccessServiceDescription(),
-                                                                               
           accessServiceConfig.getAccessServiceWiki()),
-                                                          "OMASUser");
-                            accessServiceAdminList.add(accessServiceAdmin);
-                        }
-                        catch (Throwable  error)
-                        {
-                            OMAGErrorCode errorCode    = 
OMAGErrorCode.BAD_ACCESS_SERVICE_ADMIN_CLASS;
-                            String        errorMessage = 
errorCode.getErrorMessageId()
-                                                       + 
errorCode.getFormattedErrorMessage(serverName,
-                                                                               
             accessServiceAdminClassName,
-                                                                               
             accessServiceConfig.getAccessServiceName());
-
-                            throw new 
OMAGConfigurationErrorException(errorCode.getHTTPErrorCode(),
-                                                                      
this.getClass().getName(),
-                                                                      
methodName,
-                                                                      
errorMessage,
-                                                                      
errorCode.getSystemAction(),
-                                                                      
errorCode.getUserAction());
-                        }
-                    }
-                    else
-                    {
-                        OMAGErrorCode errorCode    = 
OMAGErrorCode.NULL_ACCESS_SERVICE_ADMIN_CLASS;
-                        String        errorMessage = 
errorCode.getErrorMessageId()
-                                                   + 
errorCode.getFormattedErrorMessage(serverName,
-                                                                               
         accessServiceConfig.getAccessServiceName());
-
-                        throw new 
OMAGConfigurationErrorException(errorCode.getHTTPErrorCode(),
-                                                                  
this.getClass().getName(),
-                                                                  methodName,
-                                                                  errorMessage,
-                                                                  
errorCode.getSystemAction(),
-                                                                  
errorCode.getUserAction());
-                    }
-                }
-            }
-        }
-
-        if (enterpriseTopicConnector != null)
-        {
-            try
-            {
-                enterpriseTopicConnector.start();
-            }
-            catch (Throwable  error)
-            {
-                OMAGErrorCode errorCode    = 
OMAGErrorCode.ENTERPRISE_TOPIC_START_FAILED;
-                String        errorMessage = errorCode.getErrorMessageId()
-                                           + 
errorCode.getFormattedErrorMessage(serverName, error.getMessage());
-
-                throw new 
OMAGConfigurationErrorException(errorCode.getHTTPErrorCode(),
-                                                          
this.getClass().getName(),
-                                                          methodName,
-                                                          errorMessage,
-                                                          
errorCode.getSystemAction(),
-                                                          
errorCode.getUserAction());
-            }
-        }
-    }
-
-
-    /**
-     * Terminate any open metadata and governance services.
-     *
-     * @param userId     - user that is issuing the request
-     * @param serverName - local server name
-     * @param permanent - Is the server being shutdown permanently - if yes, 
the local server will unregister from
-     *                  its open metadata repository cohorts.
-     * @throws OMAGNotAuthorizedException    - the supplied userId is not 
authorized to issue this command.
-     * @throws OMAGInvalidParameterException - the serverName is invalid.
-     */
-    @RequestMapping(method = RequestMethod.DELETE, path = "/instance")
-    public void terminate(@PathVariable String  userId,
-                          @PathVariable String  serverName,
-                          @RequestParam boolean permanent) throws 
OMAGNotAuthorizedException,
-                                                                  
OMAGInvalidParameterException
-    {
-        final String methodName = "terminate";
-
-        validateServerName(serverName, methodName);
-        validateUserId(userId, serverName, methodName);
-
-        /*
-         * Shutdown the access services
-         */
-        if (accessServiceAdminList != null)
-        {
-            for (AccessServiceAdmin  accessServiceAdmin : 
accessServiceAdminList)
-            {
-                if (accessServiceAdmin != null)
-                {
-                    accessServiceAdmin.shutdown();
-                }
-            }
-        }
-
-        /*
-         * Terminate the OMRS
-         */
-        if (operationalServices != null)
-        {
-            operationalServices.disconnect(permanent);
-            operationalServices = null;
-        }
-    }
-
-
-    /*
-     * =============================================================
-     * Operational status and control
-     */
-
-    /* placeholder */
-
-
-    /*
-     * =============================================================
-     * Private methods
-     */
-
-    /**
-     * Validate that the user id is not null.
-     *
-     * @param userId - user name passed on the request
-     * @param serverName - name of this server
-     * @param methodName - method receiving the call
-     * @throws OMAGNotAuthorizedException - no userId provided
-     */
-    private void validateUserId(String userId,
-                                String serverName,
-                                String methodName) throws 
OMAGNotAuthorizedException
-    {
-        if (userId == null)
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_USER_NAME;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new OMAGNotAuthorizedException(errorCode.getHTTPErrorCode(),
-                                                 this.getClass().getName(),
-                                                 methodName,
-                                                 errorMessage,
-                                                 errorCode.getSystemAction(),
-                                                 errorCode.getUserAction());
-        }
-    }
-
-
-    /**
-     * Validate that the server name is not null and save it in the config.
-     *
-     * @param serverName - serverName passed on a request
-     * @param methodName - method being called
-     * @throws OMAGInvalidParameterException - null server name
-     */
-    private void validateServerName(String serverName,
-                                    String methodName) throws 
OMAGInvalidParameterException
-    {
-        /*
-         * If the local server name is still null then save the server name in 
the configuration.
-         */
-        if (serverName == null)
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_LOCAL_SERVER_NAME;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage();
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-    }
-
-
-    /**
-     * Validate that the service mode passed on a request is not null.
-     *
-     * @param serviceMode - indicates the mode a specific service should be 
set to
-     * @param serverName - name of this server
-     * @param methodName - name of the method called.
-     * @throws OMAGInvalidParameterException - the service mode is null
-     */
-    private void validateServiceMode(OMAGServiceMode   serviceMode,
-                                     String            serverName,
-                                     String            methodName) throws 
OMAGInvalidParameterException
-    {
-        if (serviceMode == null)
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_SERVICE_MODE;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-    }
-
-
-    /**
-     * Validate that the cohort name is not null.
-     *
-     * @param cohortName - cohortName passed on the request
-     * @param serverName - server name for this server
-     * @param methodName - method called
-     * @throws OMAGInvalidParameterException the cohort name is null
-     */
-    private void validateCohortName(String  cohortName,
-                                    String  serverName,
-                                    String  methodName) throws 
OMAGInvalidParameterException
-    {
-        if (cohortName == null)
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_COHORT_NAME;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(serverName);
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-    }
-
-
-    /**
-     * Retrieve any saved configuration for this server.
-     *
-     * @param serverName - name of the server
-     * @param methodName - method requesting the server details
-     * @return = configuration properties
-     * @throws OMAGInvalidParameterException - problem with the configuration 
file
-     */
-    private  OMAGServerConfig   getServerConfig(String   serverName,
-                                                String   methodName) throws 
OMAGInvalidParameterException
-    {
-        if (serverConfigStore == null)
-        {
-            Endpoint   endpoint = new Endpoint();
-            endpoint.setAddress("omag.server." + serverName + ".config");
-
-            ConnectorType  connectorType = new ConnectorType();
-            
connectorType.setConnectorProviderClassName(FileBasedServerConfigStoreProvider.class.getName());
-
-            Connection connection = new Connection();
-            connection.setEndpoint(endpoint);
-            connection.setConnectorType(connectorType);
-            connection.setQualifiedName(endpoint.getAddress());
-
-            try
-            {
-
-                ConnectorBroker connectorBroker = new ConnectorBroker();
-
-                Connector connector = connectorBroker.getConnector(connection);
-
-                serverConfigStore = (OMAGServerConfigStore) connector;
-            }
-            catch (Throwable   error)
-            {
-                OMAGErrorCode errorCode    = OMAGErrorCode.BAD_CONFIG_FILE;
-                String        errorMessage = errorCode.getErrorMessageId()
-                                           + 
errorCode.getFormattedErrorMessage(serverName, methodName, error.getMessage());
-
-                throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                        
this.getClass().getName(),
-                                                        methodName,
-                                                        errorMessage,
-                                                        
errorCode.getSystemAction(),
-                                                        
errorCode.getUserAction(),
-                                                        error);
-            }
-        }
-
-        OMAGServerConfig serverConfig = 
serverConfigStore.retrieveServerConfig();
-
-        if (serverConfig == null)
-        {
-            serverConfig = new OMAGServerConfig();
-        }
-
-        serverConfig.setLocalServerName(serverName);
-
-        return serverConfig;
-    }
-
-
-    /**
-     * Save the Server config ...
-     *
-     * @param serverConfig - properties to save
-     * @throws OMAGInvalidParameterException - problem with the config file
-     */
-    private  void saveServerConfig(OMAGServerConfig  serverConfig) throws 
OMAGInvalidParameterException
-    {
-        final String  methodName = "saveServerConfig";
-
-        if (serverConfigStore != null)
-        {
-            serverConfigStore.saveServerConfig(serverConfig);
-        }
-        else
-        {
-            OMAGErrorCode errorCode    = OMAGErrorCode.NULL_CONFIG_FILE;
-            String        errorMessage = errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage();
-
-            throw new 
OMAGInvalidParameterException(errorCode.getHTTPErrorCode(),
-                                                    this.getClass().getName(),
-                                                    methodName,
-                                                    errorMessage,
-                                                    
errorCode.getSystemAction(),
-                                                    errorCode.getUserAction());
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGAPIResponse.java
----------------------------------------------------------------------
diff --git 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGAPIResponse.java
 
b/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGAPIResponse.java
deleted file mode 100644
index 67262cc..0000000
--- 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGAPIResponse.java
+++ /dev/null
@@ -1,172 +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.omag.admin.server.properties;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
-import static 
com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY;
-
-/**
- * OMAGAPIResponse provides a common header for OMAG managed responses to its 
REST API.
- * It manages information about exceptions.  If no exception has been raised 
exceptionClassName is null.
- */
-@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, 
fieldVisibility=NONE)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown=true)
-public abstract class OMAGAPIResponse
-{
-    protected int       relatedHTTPCode = 200;
-    protected String    exceptionClassName = null;
-    protected String    exceptionErrorMessage = null;
-    protected String    exceptionSystemAction = null;
-    protected String    exceptionUserAction = null;
-
-
-    /**
-     * Default constructor
-     */
-    public OMAGAPIResponse()
-    {
-    }
-
-
-    /**
-     * Return the HTTP Code to use if forwarding response to HTTP client.
-     *
-     * @return integer HTTP status code
-     */
-    public int getRelatedHTTPCode()
-    {
-        return relatedHTTPCode;
-    }
-
-
-    /**
-     * Set up the HTTP Code to use if forwarding response to HTTP client.
-     *
-     * @param relatedHTTPCode - integer HTTP status code
-     */
-    public void setRelatedHTTPCode(int relatedHTTPCode)
-    {
-        this.relatedHTTPCode = relatedHTTPCode;
-    }
-
-
-    /**
-     * Return the name of the Java class name to use to recreate the exception.
-     *
-     * @return String name of the fully-qualified java class name
-     */
-    public String getExceptionClassName()
-    {
-        return exceptionClassName;
-    }
-
-
-    /**
-     * Set up the name of the Java class name to use to recreate the exception.
-     *
-     * @param exceptionClassName - String name of the fully-qualified java 
class name
-     */
-    public void setExceptionClassName(String exceptionClassName)
-    {
-        this.exceptionClassName = exceptionClassName;
-    }
-
-
-    /**
-     * Return the error message associated with the exception.
-     *
-     * @return string error message
-     */
-    public String getExceptionErrorMessage()
-    {
-        return exceptionErrorMessage;
-    }
-
-
-    /**
-     * Set up the error message associated with the exception.
-     *
-     * @param exceptionErrorMessage - string error message
-     */
-    public void setExceptionErrorMessage(String exceptionErrorMessage)
-    {
-        this.exceptionErrorMessage = exceptionErrorMessage;
-    }
-
-
-    /**
-     * Return the description of the action taken by the system as a result of 
the exception.
-     *
-     * @return - string description of the action taken
-     */
-    public String getExceptionSystemAction()
-    {
-        return exceptionSystemAction;
-    }
-
-
-    /**
-     * Set up the description of the action taken by the system as a result of 
the exception.
-     *
-     * @param exceptionSystemAction - string description of the action taken
-     */
-    public void setExceptionSystemAction(String exceptionSystemAction)
-    {
-        this.exceptionSystemAction = exceptionSystemAction;
-    }
-
-
-    /**
-     * Return the action that a user should take to resolve the problem.
-     *
-     * @return string instructions
-     */
-    public String getExceptionUserAction()
-    {
-        return exceptionUserAction;
-    }
-
-
-    /**
-     * Set up the action that a user should take to resolve the problem.
-     *
-     * @param exceptionUserAction - string instructions
-     */
-    public void setExceptionUserAction(String exceptionUserAction)
-    {
-        this.exceptionUserAction = exceptionUserAction;
-    }
-
-
-    @Override
-    public String toString()
-    {
-        return "OMAGAPIResponse{" +
-                "relatedHTTPCode=" + relatedHTTPCode +
-                ", exceptionClassName='" + exceptionClassName + '\'' +
-                ", exceptionErrorMessage='" + exceptionErrorMessage + '\'' +
-                ", exceptionSystemAction='" + exceptionSystemAction + '\'' +
-                ", exceptionUserAction='" + exceptionUserAction + '\'' +
-                '}';
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGServerConfigResponse.java
----------------------------------------------------------------------
diff --git 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGServerConfigResponse.java
 
b/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGServerConfigResponse.java
deleted file mode 100644
index 9cc69ca..0000000
--- 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/OMAGServerConfigResponse.java
+++ /dev/null
@@ -1,80 +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.omag.admin.server.properties;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import org.apache.atlas.omag.configuration.properties.OMAGServerConfig;
-
-import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
-import static 
com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY;
-
-
-/**
- * OMAGServerConfigResponse is the response structure used on the OMAG REST 
API calls that returns a
- * Connection object as a response.
- */
-@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, 
fieldVisibility=NONE)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown=true)
-public class OMAGServerConfigResponse extends OMAGAPIResponse
-{
-    private OMAGServerConfig serverConfig = null;
-
-    /**
-     * Default constructor
-     */
-    public OMAGServerConfigResponse()
-    {
-    }
-
-
-    /**
-     * Return the OMAGServerConfig object.
-     *
-     * @return OMAGServerConfig object
-     */
-    public OMAGServerConfig getOMAGServerConfig()
-    {
-        return serverConfig;
-    }
-
-    /**
-     * Set up the OMAGServerConfig object.
-     *
-     * @param serverConfig - OMAGServerConfig object
-     */
-    public void setOMAGServerConfig(OMAGServerConfig serverConfig)
-    {
-        this.serverConfig = serverConfig;
-    }
-
-    @Override
-    public String toString()
-    {
-        return "OMAGServerConfigResponse{" +
-                "serverConfig=" + serverConfig +
-                ", relatedHTTPCode=" + relatedHTTPCode +
-                ", exceptionClassName='" + exceptionClassName + '\'' +
-                ", exceptionErrorMessage='" + exceptionErrorMessage + '\'' +
-                ", exceptionSystemAction='" + exceptionSystemAction + '\'' +
-                ", exceptionUserAction='" + exceptionUserAction + '\'' +
-                '}';
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/68b47923/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/VoidResponse.java
----------------------------------------------------------------------
diff --git 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/VoidResponse.java
 
b/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/VoidResponse.java
deleted file mode 100644
index d093fb5..0000000
--- 
a/omag-api/src/main/java/org/apache/atlas/omag/admin/server/properties/VoidResponse.java
+++ /dev/null
@@ -1,54 +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.omag.admin.server.properties;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
-import static 
com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY;
-
-/**
- * VoidResponse defines the response structure for the OMAG REST API calls 
that returns a
- * void as a response.
- */
-@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, 
fieldVisibility=NONE)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown=true)
-public class VoidResponse extends OMAGAPIResponse
-{
-    /**
-     * Default constructor
-     */
-    public VoidResponse()
-    {
-    }
-
-    @Override
-    public String toString()
-    {
-        return "VoidResponse{" +
-                "relatedHTTPCode=" + relatedHTTPCode +
-                ", exceptionClassName='" + exceptionClassName + '\'' +
-                ", exceptionErrorMessage='" + exceptionErrorMessage + '\'' +
-                ", exceptionSystemAction='" + exceptionSystemAction + '\'' +
-                ", exceptionUserAction='" + exceptionUserAction + '\'' +
-                '}';
-    }
-}

Reply via email to