org.apache.lens.client.LensClientConfig.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.lens.client.LensClientConfig.java

Source

/**
 * 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
 *
 *   http://www.apache.org/licenses/LICENSE-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.
 */
package org.apache.lens.client;

import org.apache.hadoop.conf.Configuration;

/**
 * Configuration Class which is used in the lens client.
 */
public class LensClientConfig extends Configuration {

    /**
     * Instantiates a new lens client config.
     */
    public LensClientConfig() {
        super(false);
        addResource("lens-client-default.xml");
        addResource("lens-client-site.xml");
    }

    // config prefixes
    // All the config variables will use one of these prefixes
    /** The Constant CLIENT_PFX. */
    public static final String CLIENT_PFX = "lens.client.";

    /** The Constant DBNAME_KEY. */
    public static final String DBNAME_KEY = CLIENT_PFX + "dbname";

    /** The Constant DEFAULT_DBNAME_VALUE. */
    public static final String DEFAULT_DBNAME_VALUE = "default";

    /** The Constant QUERY_POLL_INTERVAL_KEY. */
    private static final String QUERY_POLL_INTERVAL_KEY = CLIENT_PFX + "query.poll.interval";

    /** The Constant DEFAULT_QUERY_POLL_INTERVAL. */
    private static final long DEFAULT_QUERY_POLL_INTERVAL = 10L;

    /** The Constant USER_NAME. */
    private static final String USER_NAME = CLIENT_PFX + "user.name";

    /** The Constant DEFAULT_USER_NAME. */
    public static final String DEFAULT_USER_NAME = "anonymous";

    /** The Constant DEFAULT_METASTORE_RESOURCE_PATH. */
    private static final String DEFAULT_METASTORE_RESOURCE_PATH = "metastore";

    /** The Constant DEFAULT_QUERY_RESOURCE_PATH. */
    private static final String DEFAULT_QUERY_RESOURCE_PATH = "queryapi";

    /** The Constant DEFAULT_SESSION_RESOURCE_PATH. */
    public static final String DEFAULT_SESSION_RESOURCE_PATH = "session";

    public static final String DEFAULT_LOG_RESOURCE_PATH = "logs";

    // server side conf properties copied here
    /** The Constant SERVER_BASE_URL. */
    public static final String SERVER_BASE_URL = "lens.server.base.url";

    /** The Constant DEFAULT_SERVER_BASE_URL. */
    public static final String DEFAULT_SERVER_BASE_URL = "http://0.0.0.0:9999/lensapi";

    /** The Constant SESSION_CLUSTER_USER. */
    public static final String SESSION_CLUSTER_USER = "lens.session.cluster.user";

    public static final String SESSION_FILTER_NAMES = CLIENT_PFX + "ws.request.filternames";

    public static final String WS_FILTER_IMPL_SFX = ".ws.filter.impl";

    public static final String READ_TIMEOUT_MILLIS = CLIENT_PFX + "read.timeout.millis";

    public static final int DEFAULT_READ_TIMEOUT_MILLIS = 300000; //5 mins

    public static final String CONNECTION_TIMEOUT_MILLIS = CLIENT_PFX + "connection.timeout.millis";

    public static final int DEFAULT_CONNECTION_TIMEOUT_MILLIS = 60000; //60 secs

    /**
     * Get the username from config
     *
     * @return Returns lens client user name
     */
    public String getUser() {
        return this.get(USER_NAME, DEFAULT_USER_NAME);
    }

    public void setUser(String user) {
        this.set(USER_NAME, user);
    }

    /**
     * Returns the configured lens server url
     *
     * @return server url
     */
    public String getBaseURL() {
        return this.get(SERVER_BASE_URL, DEFAULT_SERVER_BASE_URL);
    }

    /**
     * Returns the configured lens server database client wants to access
     *
     * @return database returns database to connect, defaults to 'default'
     */
    public String getLensDatabase() {
        return this.get(DBNAME_KEY, DEFAULT_DBNAME_VALUE);
    }

    /**
     * Returns the session service path on lens server
     *
     * @return web app fragment pointing to session service, defaults to session
     */
    public String getSessionResourcePath() {
        return DEFAULT_SESSION_RESOURCE_PATH;
    }

    /**
     * Returns the query service path on lens server
     *
     * @return web app fragment pointing to query service, defaults to queryapi
     */
    public String getQueryResourcePath() {
        return DEFAULT_QUERY_RESOURCE_PATH;
    }

    /**
     * Sets the database to connect on lens server
     *
     * @param dbName database to connect to
     */
    public void setLensDatabase(String dbName) {
        this.set(DBNAME_KEY, dbName);
    }

    public long getQueryPollInterval() {
        return this.getLong(QUERY_POLL_INTERVAL_KEY, DEFAULT_QUERY_POLL_INTERVAL);
    }

    public String getMetastoreResourcePath() {
        return DEFAULT_METASTORE_RESOURCE_PATH;
    }

    public void setBaseUrl(String baseUrl) {
        this.set(SERVER_BASE_URL, baseUrl);
    }

    public String getLogResourcePath() {
        return DEFAULT_LOG_RESOURCE_PATH;
    }

    public static String getWSFilterImplConfKey(String filterName) {
        return CLIENT_PFX + filterName + WS_FILTER_IMPL_SFX;
    }
}