com.gemstone.gemfire.admin.AdminConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gemfire-core Show documentation
Show all versions of gemfire-core Show documentation
SnappyData store based off Pivotal GemFireXD
/*
* Copyright (c) 2010-2015 Pivotal Software, Inc. 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. See accompanying
* LICENSE file.
*/
package com.gemstone.gemfire.admin;
import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Date;
/**
* AdminConfig loads/stores the member information list. The list contains
* all of the members being monitored.
*
* Config must be of the format:
*
*
Name=What you want displayed as a name for the instance
* Type=SERVER|CLIENT
* Host=A valid hostname or IP Address where the instance is
* running
* Port=The port you are using to open the monitor port for
* the instance
* @author dpark
* @deprecated as of 7.0 use the {@link com.gemstone.gemfire.management} package instead
*/
public class AdminConfig
{
// Name, Type, Host, Port
public static Entry[] loadConfig(File file) throws IOException
{
// Place all lines into stack
ArrayList entryList = new ArrayList();
FileReader reader = null;
BufferedReader fileReader = null;
try {
reader = new FileReader(file);
fileReader = new BufferedReader(reader);
// Read the first line.
String line = fileReader.readLine();
while (line != null) {
line = line.trim();
// Replace tabs with spaces
line = line.replace('\t', ' ');
// Skip all empty and comment lines
if (line.length() != 0 && line.startsWith("#") == false) {
try {
entryList.add(new Entry(line));
} catch (Exception ex) {
// ignore - drop any lines that are not valid
}
}
line = fileReader.readLine();
}
}
finally {
if (fileReader != null) {
fileReader.close();
}
if (reader != null) {
reader.close();
}
}
return (Entry[])entryList.toArray(new Entry[0]);
}
public static void storeConfig(File file, AdminConfig.Entry entries[]) throws IOException
{
FileOutputStream fos = null;
PrintStream ps = null;
try {
fos = new FileOutputStream(file);
ps = new PrintStream(fos);
// Header
ps.print("#");
ps.println(LocalizedStrings.AdminConfig_THIS_FILE_IS_GENERATED_BY_ADMINCONSOLE_EDIT_AS_YOU_WISH_BUT_IT_WILL_BE_OVERWRITTEN_IF_IT_IS_MODIFIED_IN_ADMINCONSOLE.toLocalizedString());
ps.println("#");
ps.println(LocalizedStrings.AdminConfig_MODIFIED_0.toLocalizedString(new Date()));
ps.println("#");
ps.println("# Name, Type, Host, Port");
ps.println("#");
int len = entries.length;
for (int i = 0; i < len; i++) {
ps.println(entries[i].toString());
}
ps.flush();
}
finally {
if (ps != null) {
ps.close();
}
if (fos != null) {
fos.close();
}
}
}
public static class Entry
{
public String name;
public String type;
public String host;
public int port;
public Entry(String line)
{
// Split
String split[] = line.split(",");
// Convert line to parameters
name = split[0].trim();
type = split[1].trim();
host = split[2].trim();
port = Integer.parseInt(split[3]);
}
public Entry(String name, String type, String host, int port)
{
this.name = name;
this.type = type;
this.host = host;
this.port = port;
}
@Override // GemStoneAddition
public String toString()
{
return name + "," + type + "," + host + "," + port;
}
}
}