All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gemstone.gemfire.admin.AdminConfig Maven / Gradle / Ivy

There is a newer version: 2.0-BETA
Show newest version
/*
 * 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; } } }




  • © 2015 - 2024 Weber Informatics LLC | Privacy Policy