package com.linkedin.databus.core;
/*
*
* Copyright 2013 LinkedIn Corp. All rights reserved
*
* Licensed 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.
*
*/
public final class DbusConstants {
public static final long NUM_NSECS_IN_MSEC= 1000000;
public static final long NUM_NSECS_IN_SEC= 1000000000;
public static final long NUM_NSECS_IN_MIN= NUM_NSECS_IN_SEC * 60;
public static final long NUM_MSECS_IN_SEC= 1000;
public static final String SERVER_INFO_HOSTPORT_HEADER_PARAM = "X-DBUS2-BS-HOSTPORT";
public static final String HOSTPORT_DELIMITER = ":";
public static final String APP_NAME = "com.linkedin.app.name";
public static final String INSTANCE_NAME = "com.linkedin.app.instance";
public static final String ENV_NAME = "com.linkedin.app.env";
public static final String MACHINE_NAME = "com.linkedin.app.machine";
public static final String CONTAINER_NAME = "com.linkedin.app.container";
// The delimiter used when merging compound keys
public static final String COMPOUND_KEY_DELIMITER = "\t";
// The separator used in the AVRO schema
public static final String COMPOUND_KEY_SEPARATOR = ",";
public static final String UNKNOWN_ENV = "UNKNOWN";
public static final String UNKNOWN_APP_NAME = "UNKNOWN";
public static final String UNKNOWN_INSTANCE = "UNKNOWN";
public static final String UNKNOWN_SERVICE_ID = "UNKNOWN";
public static final String UNKNOWN_HOST = "UNKNOWN";
public static final String DEFAULT_VAL = "UNKNOWN";
private static final String UNKNOWN_FULL_SERVICE_ID =
getServiceIdentifier(UNKNOWN_ENV, UNKNOWN_APP_NAME, UNKNOWN_INSTANCE);
public final static String GG_REPLICATION_BIT_SETTER_FIELD_NAME = "GG_STATUS";
public final static String GG_REPLICATION_BIT_SETTER_VALUE = "g";
public final static String ISO_8859_1 = "ISO-8859-1";
public final static String XML_VERSION = "1.0";
public final static int DONT_USE_METADATA_SCHEMA = 0;
public final static int USE_LATEST_METADATA_SCHEMA = -1;
public static String getAppName()
{
return System.getProperty(APP_NAME, UNKNOWN_APP_NAME);
}
public static void setAppName(String appName)
{
System.setProperty(APP_NAME, appName);
}
public static String getInstanceName()
{
return System.getProperty(INSTANCE_NAME, UNKNOWN_INSTANCE);
}
public static void setInstanceName(String instanceName)
{
System.setProperty(INSTANCE_NAME, instanceName);
}
public static String getEnvName()
{
return System.getProperty(ENV_NAME, UNKNOWN_ENV);
}
public static void setEnvName(String envName)
{
System.setProperty(ENV_NAME, envName);
}
public static String getMachineName()
{
return System.getProperty(MACHINE_NAME, UNKNOWN_HOST);
}
public static void setMachineName(String machineName)
{
System.setProperty(MACHINE_NAME, machineName);
}
public static String getContainerName()
{
return System.getProperty(CONTAINER_NAME, DEFAULT_VAL);
}
public static void setContainerName(String containerName)
{
System.setProperty(CONTAINER_NAME, containerName);
}
public static String getServiceIdentifier(String environment, String appName, String instance)
{
return environment + "/" + appName + "/" + instance;
}
public static String getServiceIdentifier()
{
String svcId = getServiceIdentifier(DbusConstants.getEnvName(), DbusConstants.getAppName(),
DbusConstants.getInstanceName());
// In case of integration test case, these environment properties may not be set
if (svcId.equals(UNKNOWN_FULL_SERVICE_ID))
{
svcId = UNKNOWN_SERVICE_ID;
}
return svcId;
}
}