/*
 * Copyright 2014 Apereo Foundation (AF) Licensed under the
 * Educational Community 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
 *
 *     http://opensource.org/licenses/ECL-2.0
 *
 * 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.
 */

var OAE = require('oae-util/lib/oae');
var log = require('oae-logger').logger();

var config = require('./config').config;

// Start the server and all of its tenants
OAE.init(config, function(err) {
    if (err) {
        log().error({err: err}, 'Error initializing server.');
    }
    log().info("Initialization all done ... Firing up tenants ... Enjoy!");
});

/*
 * Copyright 2014 Apereo Foundation (AF) Licensed under the
 * Educational Community 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
 *
 *     http://opensource.org/licenses/ECL-2.0
 *
 * 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.
 */

var OAE = require('oae-util/lib/oae');
var log = require('oae-logger').logger();

var argv = require('optimist').argv;

// Qualify path for require
if (argv.config && !argv.config.match(/^\.?\//)) {
    argv.config = './' + argv.config;
}

var configPath = argv.config || './config';
var config = require(configPath).config;

// Start the server and all of its tenants
OAE.init(config, function(err) {
    if (err) {
        log().error({err: err}, 'Error initializing server.');
    }
    log().info("Initialization all done ... Firing up tenants ... Enjoy!");
});

allow specifying a config file on the command line