01: /**
02: * Sequoia: Database clustering technology.
03: * Copyright (C) 2002-2004 French National Institute For Research In Computer
04: * Science And Control (INRIA).
05: * Contact: sequoia@continuent.org
06: *
07: * Licensed under the Apache License, Version 2.0 (the "License");
08: * you may not use this file except in compliance with the License.
09: * You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: *
19: * Initial developer(s): Jeff Mesnil
20: * Contributor(s): ______________________.
21: */package org.continuent.sequoia.console.text.commands.controller;
22:
23: import java.io.BufferedWriter;
24: import java.io.File;
25: import java.io.FileWriter;
26:
27: import org.continuent.sequoia.common.i18n.ConsoleTranslate;
28: import org.continuent.sequoia.console.text.commands.ConsoleCommand;
29: import org.continuent.sequoia.console.text.module.AbstractConsoleModule;
30:
31: /**
32: * This class defines a ShowLoggingConfig
33: *
34: * @author <a href="mailto:jeff.mesnil@emicnetworks.com">Jeff Mesnil</a>
35: */
36: public class ShowLoggingConfig extends ConsoleCommand {
37:
38: /**
39: * Creates a new "show logging config" controller command.
40: *
41: * @param module the command is attached to
42: */
43: public ShowLoggingConfig(AbstractConsoleModule module) {
44: super (module);
45: }
46:
47: /**
48: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
49: */
50: public void parse(String commandText) throws Exception {
51: checkJmxConnectionToController();
52: if (commandText == null || commandText.equalsIgnoreCase("")) //$NON-NLS-1$
53: {
54: // Display on std output
55: console.println(jmxClient.getControllerProxy()
56: .viewLogConfigurationFile());
57: } else {
58: // Write to file
59: File f = new File(commandText.trim());
60: BufferedWriter writer = new BufferedWriter(
61: new FileWriter(f));
62: writer.write(jmxClient.getControllerProxy()
63: .viewLogConfigurationFile());
64: writer.flush();
65: writer.close();
66: }
67: }
68:
69: /**
70: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
71: */
72: public String getCommandName() {
73: return "show logging config"; //$NON-NLS-1$
74: }
75:
76: /**
77: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
78: */
79: public String getCommandDescription() {
80: return ConsoleTranslate
81: .get("controller.command.show.logging.config"); //$NON-NLS-1$
82: }
83:
84: }
|