クラス org.objectweb.cjdbc.console.gui.CjdbcGui

org.objectweb.cjdbc.console.gui.CjdbcGuiのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

説明

This class defines the CjdbcGui

作者:
Nicolas Modrzyk
バージョン:
1.0

CjdbcGui.java115 行で定義されています。

Public メソッド

 CjdbcGui ()
void publicActionLoadBackendsList (String databaseName)
void actionLoadBackend (String database, String backendName, String controllerName, boolean enable)
void actionChangeBackendState (BackendObject bo, String newState)
void actionSetBackendState (String backendName)
void paintBackendPane ()
void appendDebugText (String text)
void appendDebugText (String text, Exception e)
void publicActionAddXmlFile ()
void publicActionLoadControllerList ()
void publicActionAddControllerView ()
void publicActionDatabaseEnableAll (String databaseName)
void actionLoadBackendActionButton (String name)
void actionLoadBackendPane (boolean recoveryEnabled)
void publicActionLoadAuthenticatedDatabase ()
void publicActionQuit ()
void publicActionLoadDriver (String controllerName)
void publicActionRefreshLogs (String controllerName)
void publicActionCleanDebugBuffer ()
void publicActionSaveConfigurationFile ()
void publicActionAddController ()
void publicActionSelectNewController (String connectUrl)
void publicActionLoadDumpList (String connectUrl)
void publicActionLoadXmlController (String connectUrl)
void publicActionSelectNewDatabase (String value)
void publicActionLoadXmlDatabase (String databaseName)
void publicActionSelectNewConfigurationFile (String file)
void publicActionShutdownDatabase (DatabaseObject dob, int shutdownLevel)
void publicActionExecuteBackendDrop (JButton target, String backendName)
void publicActionExecuteBackendDrop (String actionName, String backendName)
void publicActionNewBackendPrompt (BackendObject bob)
void publicActionRestoreBackend (String backendName, String dumpName)
void publicActionBackupBackendPrompt (BackendObject bob)
void publicActionRefreshCursorShape ()
void publicActionExecuteControllerDrop (String filePath, String controllerName)
void publicActionDatabaseDisableAll (String databaseName)
void publicActionGetControllerInfo (String controllerName)
void publicActionShutdownController (String controllerName)
void publicActionControllerReport (String controllerName)
void publicActionDeleteDump (String controllerName, DumpFileObject dump)
void publicActionExecuteBackendDrop (JPanel panel, String backendName)
void publicActionControllerLogConfiguration (String controllerName)
void publicActionUpdateControllerLogConfiguration (String controllerName, String newContent)
void publicActionSetLogConfigurationDebug (String controllerName, String logConfiguration)
void publicActionSetLogConfigurationInfo (String controllerName, String logConfiguration)
Hashtable getBackendList ()
void publicActioncleanLoggingPane ()
void publicActionRemoveConfigurationFile (ConfigurationFileObject cfo)
void publicActionControllerRemove (String controllerName)
void publicActionControllerMonitor (String controllerName)
void publicActionCreateBackendExecute ()
void publicActionViewCache (String databaseName)
void publicActionViewSQLStats (String databaseName)
void publicActionViewCacheStats (String databaseName)
CjdbcGuiListener getGuiActionListener ()
GuiSession getGuiSession ()
Hashtable getJmxClients ()
void publicActionRemoveBackendFromGui (String backendName)
void publicActionRemoveBackend (BackendObject bo)
void publicActionExecuteTransfer (String backendName, String controllerName)
void publicActionRemoveBackendFromGui (String backendName, String controller)
void publicActionDisplayShutdownFrame (DatabaseObject database)
void publicActionViewRecoveryLog (String databaseName)

関数

void actionUnloadBackends (String controller)
void paintDatabasePanel ()
void paintConfigurationPane ()
String actionLoadXmlText (File filePath)
void actionLoadXmlList ()
void paintControllerPane ()

変数

GuiSession guiSession
Hashtable databaseMBeans
Hashtable controllerMBeans
Hashtable backendsState
Hashtable backendList
Hashtable databaseList
Hashtable controllerList
Hashtable jmxClients
RmiJmxClient currentJmxClient
String selectedController
String selectedDatabase
Object credentials = null
Thread logginThread
JPanel vdbListPanel
JPanel fileListPanel
JPanel controllerListPanel
GuiVirtualDatabaseLoginFrame loginFrame
GuiNewControllerFrame newControllerFrame
GuiExceptionFrame exceptionFrame
NewBackendFrame newBackendFrame
GuiSelectCheckpoint selectCheckpointFrame
GuiSelectShutdown selectShutdownFrame
BackendTransferListener backendTransferListener
ControllerTransferListener configurationFileTransferListener
CjdbcGuiListener guiActionListener
String debugText
String loggingText
JTextArea debugTextPane
JTextArea loggingTextPane
JTextPane infoTextPane
GuiParsingThread parsingThread
JTextPane xmlTextPane
JFileChooser configurationFileChooser
JFileChooser jarFileChooser
JFileChooser saveFileChooser
JPanel backendPanel
ControllerListPopUpMenu controllerListPopUpMenu
JTabbedPane centerPane
JScrollPane helpScroll
JScrollPane debugScroll
JScrollPane xmlScroll
JScrollPane loggingScroll
JScrollPane infoScroll
JScrollPane logConfigScroll
JScrollPane fileScroll
JTextArea debugTraceTextPane
JTextAreaWriter traceWriter
JTextPane logConfigTextPane
JPanel backendButtons
JPanel backendIcons

Private メソッド

ControllerMBean actionGETControllerBean (String controllerName)
void actionStartControllerLoggingThread (String controllerName)
VirtualDatabaseMBean actionGETDatabaseBean (String databaseName)
void actionLoadDatabaseList (String controllerName)
void actionLoadDatabase (String databaseName, String controllerName)
void actionAddObjectToGridLayout (JPanel panel, JButton button)
String actionConvertState (String fromJmx)
ArrayList actionLoadCheckpointNames (String databaseName)
void actionLoadController (String name)
String actionDisplaySelectCheckpointFrame (String database)
String actionReplaceInConfiguration (String logConfiguration, String oldMode, String newMode) throws IOException


コンストラクタとデストラクタ

org.objectweb.cjdbc.console.gui.CjdbcGui.CjdbcGui  ) 
 

Creates a new CjdbcGui.java object CjdbcGui.java229 行で定義されています。

00230 { 00231 super(GuiTranslate.get("gui.name")); 00232 new Thread(new CjdbcGuiLoader(this)).start(); 00233 }


メソッド

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionAddObjectToGridLayout JPanel  panel,
JButton  button
[private]
 

CjdbcGui.java383 行で定義されています。

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabase().

00384 { 00385 GridLayout layout = (GridLayout) panel.getLayout(); 00386 int pcount = panel.getComponentCount(); 00387 layout.setRows(pcount + 1); 00388 panel.add(button); 00389 panel.validate(); 00390 panel.repaint(); 00391 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionChangeBackendState BackendObject  bo,
String  newState
 

Change the state of a backend object Checks the new state is valid, and then display the backend object into the new panel. Removes it from the old panel as well. Calls repaint of each panel. This is not connected to the actual database the backend object is referenced from because many states do not exist on the controller

引数:
bo the backend object
newState new state to assign to the backend
CjdbcGui.java551 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.backendsState, org.objectweb.cjdbc.console.gui.objects.BackendObject.getState(), と org.objectweb.cjdbc.console.gui.objects.BackendObject.setState().

参照元 org.objectweb.cjdbc.console.gui.threads.task.RestoreBackendTask.run(), と org.objectweb.cjdbc.console.gui.threads.task.BackupBackendTask.run().

00552 { 00553 // test if the new state is valid 00554 if (!GuiConstants.isValidBackendState(newState)) 00555 return; 00556 00557 // State is valid, process 00558 00559 // Removed from old panel 00560 String oldState = bo.getState(); 00561 JPanel oldpanel = (JPanel) backendsState.get(oldState); 00562 oldpanel.remove(bo); 00563 oldpanel.validate(); 00564 oldpanel.repaint(); 00565 00566 // Change the state of the backend object 00567 bo.setState(newState); 00568 00569 // Add it to thew new state panel 00570 JPanel panel = (JPanel) backendsState.get(newState); 00571 panel.add(bo); 00572 panel.validate(); 00573 panel.repaint(); 00574 }

String org.objectweb.cjdbc.console.gui.CjdbcGui.actionConvertState String  fromJmx  )  [private]
 

Converts from Jmx values to Gui constants values

引数:
fromJmx 
戻り値:
CjdbcGui.java512 行で定義されています。

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionSetBackendState().

00513 { 00514 if (fromJmx == null) 00515 return null; 00516 00517 System.out.println(fromJmx); 00518 00519 if (fromJmx 00520 .equalsIgnoreCase(CjdbcNotificationList.VIRTUALDATABASE_BACKEND_ENABLED)) 00521 return GuiConstants.BACKEND_STATE_ENABLED; 00522 else if (fromJmx 00523 .equalsIgnoreCase(CjdbcNotificationList.VIRTUALDATABASE_BACKEND_ENABLED_WRITE)) 00524 return GuiConstants.BACKEND_STATE_ENABLED; 00525 else if (fromJmx 00526 .equalsIgnoreCase(CjdbcNotificationList.VIRTUALDATABASE_BACKEND_DISABLED)) 00527 return GuiConstants.BACKEND_STATE_DISABLED; 00528 else if (fromJmx 00529 .equalsIgnoreCase(CjdbcNotificationList.VIRTUALDATABASE_BACKEND_DISABLING)) 00530 return GuiConstants.BACKEND_STATE_DISABLED; 00531 else if (fromJmx 00532 .equalsIgnoreCase(CjdbcNotificationList.VIRTUALDATABASE_BACKEND_BACKINGUP)) 00533 return GuiConstants.BACKEND_STATE_BACKUP; 00534 else if (fromJmx 00535 .equalsIgnoreCase(CjdbcNotificationList.VIRTUALDATABASE_BACKEND_RECOVERING)) 00536 return GuiConstants.BACKEND_STATE_RECOVERY; 00537 else 00538 return null; 00539 }

String org.objectweb.cjdbc.console.gui.CjdbcGui.actionDisplaySelectCheckpointFrame String  database  )  [private]
 

CjdbcGui.java1424 行で定義されています。

参照先 org.objectweb.cjdbc.common.jmx.mbeans.VirtualDatabaseMBean.viewCheckpointNames().

01425 { 01426 VirtualDatabaseMBean databaseMBean = actionGETDatabaseBean(database); 01427 if (selectCheckpointFrame == null) 01428 { 01429 ArrayList list = databaseMBean.viewCheckpointNames(); 01430 list.add(GuiConstants.BACKEND_NO_CHECKPOINT); 01431 String[] entries = (String[]) list.toArray(new String[list.size()]); 01432 selectCheckpointFrame = new GuiSelectCheckpoint(this, entries, 01433 guiActionListener); 01434 selectCheckpointFrame.show(); 01435 } 01436 01437 JTextField field = selectCheckpointFrame.getValueField(); 01438 selectCheckpointFrame = null; 01439 if(field==null) 01440 return null; 01441 String checkpoint = field.getText(); 01442 return checkpoint; 01443 }

ControllerMBean org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETControllerBean String  controllerName  )  [private]
 

CjdbcGui.java235 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.actionStartControllerLoggingThread(), org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.controllerMBeans, org.objectweb.cjdbc.console.gui.CjdbcGui.credentials, org.objectweb.cjdbc.console.gui.CjdbcGui.currentJmxClient, org.objectweb.cjdbc.console.gui.CjdbcGui.guiActionListener, org.objectweb.cjdbc.console.gui.CjdbcGui.jmxClients, と org.objectweb.cjdbc.console.gui.CjdbcGui.selectedController.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabase(), と org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabaseList().

00236 { 00237 if (controllerMBeans.containsKey(controllerName)) 00238 { 00239 currentJmxClient = (RmiJmxClient) jmxClients.get(controllerName); 00240 if (currentJmxClient.isValidConnection()) 00241 { 00242 ControllerMBean controllerMBean = (ControllerMBean) controllerMBeans 00243 .get(controllerName); 00244 return controllerMBean; 00245 } 00246 else 00247 { 00248 appendDebugText("Controller :" + controllerName 00249 + " cannot be accessed anymore. Trying to reconnect..."); 00250 controllerMBeans.remove(controllerName); 00251 return actionGETControllerBean(controllerName); 00252 } 00253 } 00254 else 00255 { 00256 try 00257 { 00258 RmiJmxClient jmxClient = new RmiJmxClient(controllerName, credentials); 00259 appendDebugText("Setting listener for controller:" + controllerName); 00260 jmxClient.setNotificationListener(guiActionListener); 00261 jmxClients.put(controllerName, jmxClient); 00262 controllerMBeans.put(controllerName, jmxClient.getControllerProxy()); 00263 if (selectedController == null 00264 || controllerName.equalsIgnoreCase(selectedController)) 00265 currentJmxClient = jmxClient; 00266 00267 appendDebugText("Connected to: " + controllerName); 00268 actionStartControllerLoggingThread(controllerName); 00269 00270 return jmxClient.getControllerProxy(); 00271 } 00272 catch (Exception e) 00273 { 00274 appendDebugText("Failed to connect to: " + controllerName); 00275 return null; 00276 } 00277 } 00278 }

VirtualDatabaseMBean org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETDatabaseBean String  databaseName  )  [private]
 

CjdbcGui.java299 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.databaseList, org.objectweb.cjdbc.console.gui.CjdbcGui.databaseMBeans, org.objectweb.cjdbc.console.gui.objects.DatabaseObject.getIpAdress(), org.objectweb.cjdbc.console.gui.objects.DatabaseObject.getPort(), org.objectweb.cjdbc.console.gui.CjdbcGui.guiActionListener, org.objectweb.cjdbc.console.gui.CjdbcGui.guiSession, と org.objectweb.cjdbc.console.gui.CjdbcGui.loginFrame.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.publicActionLoadBackendsList().

00300 { 00301 if (databaseMBeans.containsKey(databaseName)) 00302 { 00303 return (VirtualDatabaseMBean) databaseMBeans.get(databaseName); 00304 } 00305 else 00306 { 00307 appendDebugText("Login to database:" + databaseName); 00308 DatabaseObject dob = (DatabaseObject) databaseList.get(databaseName); 00309 loginFrame = new GuiVirtualDatabaseLoginFrame(this, guiActionListener, 00310 databaseName, dob.getIpAdress(), dob.getPort(), guiSession); 00311 loginFrame.setVisible(true); 00312 return null; 00313 } 00314 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadBackend String  database,
String  backendName,
String  controllerName,
boolean  enable
 

Create a new database backend object and load its state

引数:
database the virtual database name
backendName the backend name
controllerName the controller that owns this backend
enable if the backend object should be enabled. (not used?)
CjdbcGui.java457 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.actionSetBackendState(), org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.backendList, org.objectweb.cjdbc.console.gui.CjdbcGui.backendTransferListener, org.objectweb.cjdbc.console.gui.CjdbcGui.publicActionRemoveBackendFromGui(), org.objectweb.cjdbc.console.gui.CjdbcGui.selectedController, と org.objectweb.cjdbc.console.gui.objects.BackendObject.setControllerName().

参照元 org.objectweb.cjdbc.console.gui.CjdbcGuiListener.handleNotification(), と org.objectweb.cjdbc.console.gui.CjdbcGui.publicActionLoadBackendsList().

00459 { 00460 BackendObject backend = null; 00461 if (!backendList.containsKey(backendName)) 00462 { 00463 appendDebugText("Loading backend:" + backendName + " from controller:" 00464 + controllerName); 00465 try 00466 { 00467 backend = new BackendObject(this, backendTransferListener, database, 00468 backendName, controllerName) 00469 { 00470 public JToolTip createToolTip() 00471 { 00472 return new JMultiLineToolTip(); 00473 } 00474 }; 00475 } 00476 catch (Exception e) 00477 { 00478 e.printStackTrace(); 00479 } 00480 backend.setBorder(BorderFactory.createTitledBorder( 00481 GuiConstants.LOWERED_BORDER, controllerName)); 00482 backend.setControllerName(controllerName); 00483 backendList.put(backendName, backend); 00484 } 00485 else 00486 { 00487 backend = (BackendObject) backendList.get(backendName); 00488 backend.setBorder(BorderFactory.createTitledBorder( 00489 GuiConstants.LOWERED_BORDER, controllerName)); 00490 backend.setControllerName(controllerName); 00491 backend.setEnabled(controllerName.equals(selectedController)); 00492 appendDebugText("ReLoading backend:" + backendName); 00493 } 00494 00495 try 00496 { 00497 actionSetBackendState(backendName); 00498 } 00499 catch (RuntimeException e) 00500 { 00501 appendDebugText("cannot access mbean anymore"); 00502 publicActionRemoveBackendFromGui(backendName); 00503 } 00504 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadBackendActionButton String  name  ) 
 

Load a panel for the backends

引数:
name the name of the panel
CjdbcGui.java888 行で定義されています。
00889 { 00890 // Define backend action buttons 00892 appendDebugText("Loading backend action panel:" + name); 00893 Color color = GuiConstants.getBackendBgColor(name); 00894 00895 JPanel paneContent = new JPanel(new FlowLayout()); 00896 paneContent.setBackground(color); 00897 paneContent.setName(name); 00898 paneContent.setVisible(true); 00899 00900 JButton paneLabel = new JButton(name); 00901 paneLabel.setActionCommand(name); 00902 paneLabel.setBackground(color); 00903 paneLabel.setSize(100, 50); 00904 paneLabel.setVisible(true); 00905 00906 DropTarget target1 = new DropTarget(paneLabel, DnDConstants.ACTION_MOVE, 00907 backendTransferListener); 00908 target1.setActive(true); 00909 00910 DropTarget target2 = new DropTarget(paneContent, DnDConstants.ACTION_MOVE, 00911 backendTransferListener); 00912 target2.setActive(true); 00913 00914 GridLayout iconLayout = (GridLayout) backendIcons.getLayout(); 00915 iconLayout.setColumns(iconLayout.getColumns() + 1); 00916 GridLayout buttonsLayout = (GridLayout) backendButtons.getLayout(); 00917 buttonsLayout.setColumns(buttonsLayout.getColumns() + 1); 00918 backendIcons.add(paneContent); 00919 backendButtons.add(paneLabel); 00920 // Adding to the main hashtable of states 00921 backendsState.put(name, paneContent); 00922 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadBackendPane boolean  recoveryEnabled  ) 
 

Load standard version for the panel

引数:
recoveryEnabled more options are available when recovery log is enabled for the database
CjdbcGui.java930 行で定義されています。

参照元 org.objectweb.cjdbc.console.gui.CjdbcGuiLoader.defineCenterPane().

00931 { 00933 // Define backend panel 00935 if (backendPanel == null) 00936 { 00937 backendPanel = new JPanel(new BorderLayout()); 00938 backendPanel.setEnabled(true); 00939 backendPanel.setBackground(Color.white); 00940 backendPanel.setVisible(true); 00941 } 00942 else 00943 { 00944 backendPanel.remove(backendButtons); 00945 backendPanel.remove(backendIcons); 00946 } 00947 00948 backendButtons = new JPanel(new GridLayout(1, 0)); 00949 backendIcons = new JPanel(new GridLayout(1, 0)); 00950 backendIcons.setBackground(Color.white); 00951 backendIcons.setVisible(true); 00952 backendButtons.setVisible(true); 00953 00954 actionLoadBackendActionButton(GuiConstants.BACKEND_STATE_ENABLED); 00955 if (recoveryEnabled) 00956 actionLoadBackendActionButton(GuiConstants.BACKEND_STATE_RECOVERY); 00957 actionLoadBackendActionButton(GuiConstants.BACKEND_STATE_DISABLED); 00958 if (recoveryEnabled) 00959 actionLoadBackendActionButton(GuiConstants.BACKEND_STATE_BACKUP); 00960 if (recoveryEnabled) 00961 actionLoadBackendActionButton(GuiConstants.BACKEND_STATE_RESTORE); 00962 backendPanel.add(backendIcons, BorderLayout.CENTER); 00963 backendPanel.add(backendButtons, BorderLayout.NORTH); 00964 00965 centerPane.validate(); 00966 centerPane.repaint(); 00967 validate(); 00968 repaint(); 00969 }

ArrayList org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadCheckpointNames String  databaseName  )  [private]
 

CjdbcGui.java816 行で定義されています。

00817 { 00818 ArrayList list = actionGETDatabaseBean(databaseName).viewCheckpointNames(); 00819 for (int i = 0; i < list.size(); i++) 00820 appendDebugText("Found checkpoint:" + list.get(i) + " for database:" 00821 + databaseName); 00822 return list; 00823 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadController String  name  )  [private]
 

Load a new controller, the graphic object, the connection state and add it to the controller pane list.

引数:
name the name(url) of the controller
CjdbcGui.java1179 行で定義されています。

参照先 org.objectweb.cjdbc.common.jmx.mbeans.ControllerMBean.getJmxName(), と org.objectweb.cjdbc.console.gui.objects.ControllerObject.setState().

01180 { 01181 guiSession.addControllerToList(name); 01182 ControllerObject co = new ControllerObject(name); 01183 co.setActionCommand(GuiCommands.COMMAND_SELECT_CONTROLLER); 01184 co.addActionListener(guiActionListener); 01185 co.addMouseListener(new ControllerPopUpMenu(this, co)); 01186 ControllerMBean controllerMBean = actionGETControllerBean(name); 01187 if (controllerMBean == null) 01188 { 01189 appendDebugText("Cannot load controller:" + name); 01190 return; 01191 } 01192 DropTarget target = new DropTarget(co, DnDConstants.ACTION_MOVE, 01193 configurationFileTransferListener); 01194 co.setDropTarget(target); 01195 appendDebugText("Loading controller:" + controllerMBean.getJmxName()); 01196 if (currentJmxClient.isValidConnection()) 01197 { 01198 co.setState(GuiConstants.CONTROLLER_STATE_UP); 01199 } 01200 else 01201 { 01202 co.setState(GuiConstants.CONTROLLER_STATE_DOWN); 01203 } 01204 actionAddObjectToGridLayout(controllerListPanel, co); 01205 controllerList.put(name, co); 01206 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabase String  databaseName,
String  controllerName
[private]
 

CjdbcGui.java364 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.actionAddObjectToGridLayout(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETControllerBean(), org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.databaseList, org.objectweb.cjdbc.console.gui.CjdbcGui.guiActionListener, org.objectweb.cjdbc.common.jmx.mbeans.ControllerMBean.isDistributedVirtualDatabase(), と org.objectweb.cjdbc.console.gui.CjdbcGui.vdbListPanel.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabaseList().

00365 { 00367 // Load graphic object for a virtual database 00369 boolean isDistributed = false; 00370 isDistributed = actionGETControllerBean(controllerName) 00371 .isDistributedVirtualDatabase(databaseName); 00372 DatabaseObject dob = new DatabaseObject(databaseName, controllerName, 00373 isDistributed); 00374 dob.setActionCommand(GuiCommands.COMMAND_SELECT_DATABASE); 00375 dob.addActionListener(guiActionListener); 00376 dob.addMouseListener(new DatabasePopUpMenu(this, dob)); 00377 databaseList.put(databaseName, dob); 00378 actionAddObjectToGridLayout(vdbListPanel, dob); 00379 appendDebugText("Loaded:" + databaseName + " for controller:" 00380 + controllerName); 00381 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabaseList String  controllerName  )  [private]
 

CjdbcGui.java316 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETControllerBean(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabase(), org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.common.jmx.mbeans.ControllerMBean.listVirtualDatabases(), org.objectweb.cjdbc.console.gui.CjdbcGui.paintDatabasePanel(), と org.objectweb.cjdbc.console.gui.CjdbcGui.vdbListPanel.

00317 { 00319 // Load list of database 00321 ControllerMBean controllerMBean = actionGETControllerBean(controllerName); 00322 ArrayList databases; 00323 try 00324 { 00325 vdbListPanel.removeAll(); 00326 databases = controllerMBean.listVirtualDatabases(); 00327 int size = databases.size(); 00328 appendDebugText("Loading virtual databases list..."); 00329 for (int i = 0; i < size; i++) 00330 actionLoadDatabase((String) databases.get(i), controllerName); 00331 } 00332 catch (Exception e1) 00333 { 00334 appendDebugText("Cannot load virtual database list"); 00335 vdbListPanel.removeAll(); 00336 } 00337 paintDatabasePanel(); 00338 repaint(); 00339 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadXmlList  )  [package]
 

CjdbcGui.java794 行で定義されています。

参照元 org.objectweb.cjdbc.console.gui.CjdbcGuiLoader.defineSession().

00795 { 00796 if (fileListPanel != null) 00797 { 00798 ArrayList vfileItems = guiSession.getConfigurationFiles(); 00799 int vsize = vfileItems.size(); 00800 ConfigurationFileObject cfo; 00801 for (int i = 0; i < vsize; i++) 00802 { 00803 cfo = new ConfigurationFileObject(configurationFileTransferListener, 00804 (File) vfileItems.get(i)); 00805 ConfigurationFilePopUpMenu cfpum = new ConfigurationFilePopUpMenu(this, 00806 cfo); 00807 cfo.addActionListener(cfpum); 00808 cfo.addMouseListener(cfpum); 00809 fileListPanel.add(cfo); 00810 actionAddObjectToGridLayout(fileListPanel, cfo); 00811 } 00812 //paintConfigurationPane(); 00813 } 00814 }

String org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadXmlText File  filePath  )  [package]
 

CjdbcGui.java679 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText().

参照元 org.objectweb.cjdbc.console.gui.CjdbcGuiLoader.defineCenterPane().

00680 { 00682 // Load xml file content 00684 try 00685 { 00686 if (filePath == null || !filePath.exists()) 00687 { 00688 return ""; 00689 } 00690 StringBuffer buffer = new StringBuffer(); 00691 BufferedReader reader = new BufferedReader(new FileReader(filePath)); 00692 String line = ""; 00693 while ((line = reader.readLine()) != null) 00694 { 00695 buffer.append(line + System.getProperty("line.separator")); 00696 } 00697 reader.close(); 00698 return buffer.toString(); 00699 } 00700 catch (Exception e) 00701 { 00702 appendDebugText("Error while reading from file:" + e.getMessage()); 00703 return ""; 00704 } 00705 }

String org.objectweb.cjdbc.console.gui.CjdbcGui.actionReplaceInConfiguration String  logConfiguration,
String  oldMode,
String  newMode
throws IOException [private]
 

CjdbcGui.java1781 行で定義されています。

01783 { 01784 BufferedReader reader = new BufferedReader(new StringReader( 01785 logConfiguration)); 01786 StringBuffer buffer = new StringBuffer(); 01787 String line; 01788 int index = 0; 01789 while ((line = reader.readLine()) != null) 01790 { 01791 while ((index = line.indexOf(oldMode, index)) != -1) 01792 line = line.substring(0, index) + newMode 01793 + line.substring(index + oldMode.length()); 01794 buffer.append(line + System.getProperty("line.separator")); 01795 } 01796 logConfigTextPane.setText(buffer.toString()); 01797 return buffer.toString(); 01798 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionSetBackendState String  backendName  ) 
 

Set the state of the given backend. The state is retrieved via a jmx call on the backend corresponding MBean.

引数:
backendName the backend to set the state
CjdbcGui.java582 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.actionConvertState(), org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.backendList, org.objectweb.cjdbc.console.gui.CjdbcGui.backendsState, org.objectweb.cjdbc.console.gui.objects.BackendObject.getControllerName(), org.objectweb.cjdbc.console.gui.objects.BackendObject.getDatabase(), org.objectweb.cjdbc.common.jmx.mbeans.DatabaseBackendMBean.getName(), org.objectweb.cjdbc.common.jmx.mbeans.DatabaseBackendMBean.getState(), org.objectweb.cjdbc.console.gui.objects.BackendObject.getState(), org.objectweb.cjdbc.console.gui.CjdbcGui.guiSession, org.objectweb.cjdbc.console.gui.CjdbcGui.jmxClients, org.objectweb.cjdbc.console.gui.CjdbcGui.selectedController, org.objectweb.cjdbc.console.gui.objects.BackendObject.setState(), と org.objectweb.cjdbc.common.jmx.mbeans.VirtualDatabaseMBean.viewBackendInformation().

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadBackend(), と org.objectweb.cjdbc.console.gui.CjdbcGuiListener.handleNotification().

00583 { 00584 try 00585 { 00586 BackendObject bo = (BackendObject) backendList.get(backendName); 00587 String controllerName = bo.getControllerName(); 00588 if (selectedController.equals(controllerName)) 00589 bo.setEnabled(true); 00590 else 00591 bo.setEnabled(false); 00592 String state = bo.getState(); 00593 appendDebugText("STATE:" + state); 00594 String login = guiSession.getAuthenticatedDatabaseLogin(bo.getDatabase()); 00595 String password = guiSession.getAuthenticatedDatabasePassword(bo 00596 .getDatabase()); 00597 RmiJmxClient client = (RmiJmxClient) jmxClients.get(controllerName); 00598 DatabaseBackendMBean backend = null; 00599 VirtualDatabaseMBean databaseMBean = null; 00600 00601 try 00602 { 00603 backend = client.getDatabaseBackendProxy(bo.getDatabase(), backendName, 00604 login, password); 00605 databaseMBean = client.getVirtualDatabaseProxy(bo.getDatabase(), login, 00606 password); 00607 } 00608 catch (Exception e) 00609 { 00610 appendDebugText("Could not change state of backend:" + backendName, 00611 new JmxException("MBean connection was lost")); 00612 } 00613 String newState = actionConvertState(backend.getState()); 00614 appendDebugText("Setting backend(" + backendName + "):" 00615 + backend.getName() + " to state:" + newState); 00616 00617 if (state == null) 00618 { 00619 // state has not been inited 00620 } 00621 else 00622 { 00623 // remove previous state 00624 JPanel panel = (JPanel) backendsState.get(state); 00625 panel.remove(bo); 00626 panel.validate(); 00627 panel.repaint(); 00628 } 00629 00630 // Set new state 00631 JPanel panel = (JPanel) backendsState.get(newState); 00632 bo.setState(newState); 00633 00634 // set Tool tip after state 00635 try 00636 { 00637 String[] data = databaseMBean.viewBackendInformation(backendName); 00638 bo.setToolTipText(new BackendToolTip(data).getFormattedToolTip()); 00639 } 00640 catch (Exception e) 00641 { 00642 appendDebugText("Tool tip could not be collected for backend:" 00643 + backendName); 00644 } 00645 panel.add(bo); 00646 panel.validate(); 00647 panel.repaint(); 00648 } 00649 catch (Exception e) 00650 { 00651 appendDebugText("Could not change state of backend:" + backendName, e); 00652 } 00653 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionStartControllerLoggingThread String  controllerName  )  [private]
 

CjdbcGui.java280 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.controllerMBeans, org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostName(), org.objectweb.cjdbc.console.gui.CjdbcGui.loggingTextPane, と org.objectweb.cjdbc.console.gui.CjdbcGui.logginThread.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETControllerBean().

00281 { 00282 try 00283 { 00284 ControllerJmxClient controllerMBean = (ControllerJmxClient) controllerMBeans 00285 .get(controllerName); 00286 logginThread = new Thread(new GuiLoggingThread(loggingTextPane, 00287 controllerMBean.getRemoteHostName())); 00288 logginThread.start(); 00289 appendDebugText("Log4j logging thread started for: <" + controllerName 00290 + ">"); 00291 } 00292 catch (Exception e1) 00293 { 00294 appendDebugText("Could not start log4j logging thread to: <" 00295 + controllerName + ">"); 00296 } 00297 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.actionUnloadBackends String  controller  )  [package]
 

CjdbcGui.java341 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), と org.objectweb.cjdbc.console.gui.CjdbcGui.backendList.

00342 { 00343 appendDebugText("Unloading backends from controller:" + controller); 00344 Enumeration enume; 00345 BackendObject bo; 00346 String name; 00347 while ((enume = backendList.keys()).hasMoreElements()) 00348 { 00349 name = (String) enume.nextElement(); 00350 bo = (BackendObject) backendList.get(name); 00351 bo.setVisible(false); 00352 backendList.remove(name); 00353 } 00354 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText String  text,
Exception  e
 

Same as above and displays the stack trace ...

引数:
text text to display
e the exception to get the trace from
CjdbcGui.java724 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGui.exceptionFrame, と org.objectweb.cjdbc.console.gui.CjdbcGui.traceWriter.

00725 { 00726 try 00727 { 00728 if (GuiConstants.DEBUG_LEVEL <= GuiConstants.DEBUG_NO_EXCEPTION_WINDOW) 00729 { 00730 if (e instanceof MBeanException) 00731 exceptionFrame.showException(((MBeanException) e) 00732 .getTargetException()); 00733 else 00734 exceptionFrame.showException(e); 00735 } 00736 appendDebugText(text + "[Message:" + e.getMessage() + "]"); 00737 traceWriter.write("---- Exception ----\n"); 00738 e.printStackTrace(new PrintWriter(traceWriter)); 00739 traceWriter.flush(); 00740 } 00741 catch (IOException e1) 00742 { 00743 // ignore . . . 00744 } 00745 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText String  text  ) 
 

Append debug text to the debug panel

引数:
text to append
CjdbcGui.java712 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.debugText, と org.objectweb.cjdbc.console.gui.CjdbcGui.debugTextPane.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETControllerBean(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionGETDatabaseBean(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadBackend(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabase(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadDatabaseList(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionLoadXmlText(), org.objectweb.cjdbc.console.gui.CjdbcGuiListener.actionPerformed(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionSetBackendState(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionStartControllerLoggingThread(), org.objectweb.cjdbc.console.gui.CjdbcGui.actionUnloadBackends(), org.objectweb.cjdbc.console.gui.CjdbcGui.appendDebugText(), org.objectweb.cjdbc.console.gui.CjdbcGuiLoader.defineCenterPane(), org.objectweb.cjdbc.console.gui.CjdbcGuiLoader.defineSession(), org.objectweb.cjdbc.console.gui.dnd.listeners.ControllerTransferListener.drop(), org.objectweb.cjdbc.console.gui.dnd.listeners.BackendTransferListener.drop(), org.objectweb.cjdbc.console.gui.CjdbcGuiListener.handleNotification(), org.objectweb.cjdbc.console.gui.CjdbcGui.publicActionLoadBackendsList(), org.objectweb.cjdbc.console.gui.threads.task.RestoreBackendTask.run(), と org.objectweb.cjdbc.console.gui.threads.task.BackupBackendTask.run().

00713 { 00714 debugText += text + System.getProperty("line.separator"); 00715 debugTextPane.setText(debugText); 00716 }

Hashtable org.objectweb.cjdbc.console.gui.CjdbcGui.getBackendList  ) 
 

Returns the backendList value.

戻り値:
Returns the backendList.
CjdbcGui.java1829 行で定義されています。
01830 { 01831 return backendList; 01832 }

CjdbcGuiListener org.objectweb.cjdbc.console.gui.CjdbcGui.getGuiActionListener  ) 
 

Get the action listener for the gui

戻り値:
the listener of events
CjdbcGui.java1987 行で定義されています。
01988 { 01989 return guiActionListener; 01990 }

GuiSession org.objectweb.cjdbc.console.gui.CjdbcGui.getGuiSession  ) 
 

Returns the guiSession value.

戻り値:
Returns the guiSession.
CjdbcGui.java1997 行で定義されています。

参照元 org.objectweb.cjdbc.console.gui.objects.BackendObject.getMbean().

01998 { 01999 return guiSession; 02000 }

Hashtable org.objectweb.cjdbc.console.gui.CjdbcGui.getJmxClients  ) 
 

Returns the jmxClients value.

戻り値:
Returns the jmxClients.
CjdbcGui.java2007 行で定義されています。

参照元 org.objectweb.cjdbc.console.gui.objects.BackendObject.getMbean().

02008 { 02009 return jmxClients; 02010 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.paintBackendPane  ) 
 

Validate and Repaint the backend split CjdbcGui.java658 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.backendPanel.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.publicActionLoadBackendsList(), と org.objectweb.cjdbc.console.gui.threads.task.BackupBackendTask.run().

00659 { 00661 // Paint backends panel 00663 backendPanel.validate(); 00664 backendPanel.repaint(); 00665 }

void org.objectweb.cjdbc.console.gui.CjdbcGui.paintConfigurationPane  )  [package]
 

CjdbcGui.java667 行で定義されています。

参照先 org.objectweb.cjdbc.console.gui.CjdbcGui.fileListPanel, と org.objectweb.cjdbc.console.gui.CjdbcGui.fileScroll.

00668 { 00670 // Paint configuration file panel 00672 fileScroll.setVisible(true); 00673