KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > console > text > commands > controller > LoadVirtualDatabase


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2002-2004 French National Institute For Research In Computer
4  * Science And Control (INRIA).
5  * Contact: sequoia@continuent.org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * 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): Nicolas Modrzyk
20  * Contributor(s): ______________________.
21  */

22
23 package org.continuent.sequoia.console.text.commands.controller;
24
25 import java.io.BufferedReader JavaDoc;
26 import java.io.FileReader JavaDoc;
27
28 import org.continuent.sequoia.common.i18n.ConsoleTranslate;
29 import org.continuent.sequoia.console.text.ConsoleException;
30 import org.continuent.sequoia.console.text.ConsoleLauncher;
31 import org.continuent.sequoia.console.text.commands.ConsoleCommand;
32 import org.continuent.sequoia.console.text.module.AbstractConsoleModule;
33
34 /**
35  * This class defines a load driver command.
36  *
37  * @author <a HREF="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a>
38  * @version 1.0
39  */

40 public class LoadVirtualDatabase extends ConsoleCommand
41 {
42   /**
43    * Creates a new <code>LoadVirtualDatabase</code> command.
44    *
45    * @param module the command is attached to
46    */

47   public LoadVirtualDatabase(AbstractConsoleModule module)
48   {
49     super(module);
50   }
51
52   /**
53    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
54    */

55   public void parse(String JavaDoc commandText) throws Exception JavaDoc
56   {
57     checkJmxConnectionToController();
58
59     String JavaDoc filename = null;
60     // Get the file name if needed
61
if (commandText == null || commandText.trim().equals("")) //$NON-NLS-1$
62
filename = console.readLine(ConsoleTranslate
63           .get("controller.command.load.vdb.input")); //$NON-NLS-1$
64
else
65       filename = commandText.trim();
66     if (filename == null)
67       throw new ConsoleException(ConsoleTranslate
68           .get("controller.command.load.vdb.file.null")); //$NON-NLS-1$
69
FileReader JavaDoc fileReader;
70     fileReader = new FileReader JavaDoc(filename);
71
72     // Read the file
73
BufferedReader JavaDoc in = new BufferedReader JavaDoc(fileReader);
74     StringBuffer JavaDoc xml = new StringBuffer JavaDoc();
75     String JavaDoc line;
76     do
77     {
78       line = in.readLine();
79       if (line != null)
80         xml.append(line);
81     }
82     while (line != null);
83
84     // Send it to the controller
85
jmxClient.getControllerProxy().addVirtualDatabases(xml.toString());
86     console.printInfo(ConsoleTranslate.get(
87         "controller.command.load.vdb.success", //$NON-NLS-1$
88
new String JavaDoc[] {filename, ConsoleLauncher.PRODUCT_NAME}));
89   }
90
91   /**
92    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
93    */

94   public String JavaDoc getCommandName()
95   {
96     return "load virtualdatabase configuration"; //$NON-NLS-1$
97
}
98
99   /**
100    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
101    */

102   public String JavaDoc getCommandDescription()
103   {
104     return ConsoleTranslate.get("controller.command.load.vdb.description"); //$NON-NLS-1$
105
}
106
107   /**
108    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
109    */

110   public String JavaDoc getCommandParameters()
111   {
112     return ConsoleTranslate.get("controller.command.load.vdb.params"); //$NON-NLS-1$
113
}
114 }
115
Popular Tags