src/org/objectweb/cjdbc/console/gui/objects/BackendObject.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.console.gui.objects; 00026 00027 import java.awt.Color; 00028 import java.awt.datatransfer.DataFlavor; 00029 import java.awt.datatransfer.Transferable; 00030 import java.awt.datatransfer.UnsupportedFlavorException; 00031 import java.awt.dnd.DnDConstants; 00032 import java.awt.dnd.DragSource; 00033 import java.io.IOException; 00034 00035 import javax.management.InstanceNotFoundException; 00036 import javax.swing.SwingConstants; 00037 00038 import org.objectweb.cjdbc.common.jmx.mbeans.DatabaseBackendMBean; 00039 import org.objectweb.cjdbc.console.gui.CjdbcGui; 00040 import org.objectweb.cjdbc.console.gui.constants.GuiConstants; 00041 import org.objectweb.cjdbc.console.gui.constants.GuiIcons; 00042 import org.objectweb.cjdbc.console.gui.dnd.listeners.BackendTransferListener; 00043 import org.objectweb.cjdbc.console.gui.popups.BackendPopUpMenu; 00044 import org.objectweb.cjdbc.console.jmx.RmiJmxClient; 00045 00052 public class BackendObject extends AbstractGuiObject 00053 implements 00054 Transferable, 00055 Cloneable 00056 00057 { 00058 private String backendState; 00059 private String database; 00060 private String controllerName; 00061 private DatabaseBackendMBean mbean; 00062 private String user; 00063 private String password; 00064 private CjdbcGui gui; 00065 private RmiJmxClient jmxClient; 00066 00074 public DatabaseBackendMBean getMbean() throws InstanceNotFoundException, 00075 IOException 00076 { 00077 jmxClient = (RmiJmxClient) gui.getJmxClients().get(controllerName); 00078 user = gui.getGuiSession().getAuthenticatedDatabaseLogin(database); 00079 password = gui.getGuiSession().getAuthenticatedDatabasePassword(database); 00080 mbean = jmxClient.getDatabaseBackendProxy(database, getName(), user, 00081 password); 00082 return mbean; 00083 } 00084 00096 public BackendObject(CjdbcGui gui, BackendTransferListener listener, 00097 String database, String name, String controllerName) 00098 throws InstanceNotFoundException, IOException 00099 { 00100 super(); 00101 this.database = database; 00102 this.controllerName = controllerName; 00103 this.gui = gui; 00104 setText(name); 00105 setName(name); 00106 setBackground(Color.white); 00107 setVerticalTextPosition(SwingConstants.BOTTOM); 00108 00109 getMbean(); 00110 00111 addMouseMotionListener(listener); 00112 addMouseListener(listener); 00113 addMouseListener(new BackendPopUpMenu(gui, this)); 00114 00115 DragSource dragSource = DragSource.getDefaultDragSource(); 00116 dragSource.createDefaultDragGestureRecognizer(this, // What component 00117 DnDConstants.ACTION_COPY_OR_MOVE, // What drag types? 00118 listener);// the listener 00119 } 00120 00126 public String getState() 00127 { 00128 return backendState; 00129 } 00130 00136 public void setState(String state) 00137 { 00138 this.backendState = state; 00139 if (state.equals(GuiConstants.BACKEND_STATE_ENABLED)) 00140 setIcon(GuiIcons.BACKEND_ENABLED_ICON); 00141 else if (state.equals(GuiConstants.BACKEND_STATE_DISABLED)) 00142 setIcon(GuiIcons.BACKEND_DISABLED_ICON); 00143 else if (state.equals(GuiConstants.BACKEND_STATE_DISABLING)) 00144 setIcon(GuiIcons.BACKEND_DISABLING_ICON); 00145 else if (state.equals(GuiConstants.BACKEND_STATE_BACKUP)) 00146 setIcon(GuiIcons.BACKEND_BACKUP_ICON); 00147 else if (state.equals(GuiConstants.BACKEND_STATE_RESTORE)) 00148 setIcon(GuiIcons.BACKEND_RESTORE_ICON); 00149 else if (state.equals(GuiConstants.BACKEND_STATE_RECOVERY)) 00150 setIcon(GuiIcons.BACKEND_STATE_RECOVERY); 00151 } 00152 00156 public DataFlavor[] getTransferDataFlavors() 00157 { 00158 return new DataFlavor[]{DataFlavor.stringFlavor, DataFlavor.plainTextFlavor}; 00159 } 00160 00164 public boolean isDataFlavorSupported(DataFlavor flavor) 00165 { 00166 if (flavor.equals(DataFlavor.stringFlavor) 00167 || flavor.equals(DataFlavor.plainTextFlavor)) 00168 return true; 00169 else 00170 return false; 00171 } 00172 00176 public Object getTransferData(DataFlavor flavor) 00177 throws UnsupportedFlavorException, IOException 00178 { 00179 return this.getText(); 00180 } 00181 00187 public String getDatabase() 00188 { 00189 return database; 00190 } 00191 00197 public String getControllerName() 00198 { 00199 return controllerName; 00200 } 00201 00207 public void setControllerName(String controllerName) 00208 { 00209 this.controllerName = controllerName; 00210 } 00211 00215 public void setName(String name) 00216 { 00217 super.setName(name); 00218 setText(name); 00219 } 00220 }

CJDBCversion1.0.4に対してTue Oct 12 15:15:58 2004に生成されました。 doxygen 1.3.8