[Ejtools-cvs] applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services Gr
Brought to you by:
letiemble
Update of /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services In directory sc8-pr-cvs1:/tmp/cvs-serv24083/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services Modified Files: CacheServiceProvider.java CustomizationServiceProvider.java CacheService.java NotificationServiceProvider.java JBossEJBConnectionService.java JBossRMIConnectionService.java ConnectionServiceProvider.java LocalConnectionService.java AbstractConnectionService.java Added Files: GraphProducer.java GraphConsumer.java GraphServiceProvider.java GraphService.java GraphValueProvider.java Log Message: Add some comment Add support for notifications Beginning of graph support --- NEW FILE: GraphProducer.java --- /* * EJTools, the Enterprise Java Tools * * Distributable under LGPL license. * See terms of license at www.gnu.org. */ package net.sourceforge.ejtools.jmxbrowser.model.services; /** * @author letiemble * @created 27 novembre 2002 * @version $Revision: 1.1 $ */ public interface GraphProducer { /** * Description of the Method * * @return Description of the Return Value */ public double produce(); /** * Gets the graphProducerId attribute of the GraphProducer object * * @return The graphProducerId value */ public String getGraphProducerId(); } --- NEW FILE: GraphConsumer.java --- /* * EJTools, the Enterprise Java Tools * * Distributable under LGPL license. * See terms of license at www.gnu.org. */ package net.sourceforge.ejtools.jmxbrowser.model.services; /** * @author letiemble * @created 27 novembre 2002 * @version $Revision: 1.1 $ */ public interface GraphConsumer { /** * Adds a feature to the GraphProducer attribute of the GraphService object * * @param producer The feature to be added to the GraphProducer attribute */ public void addGraphProducer(GraphProducer producer); /** * Description of the Method * * @param producer Description of the Parameter */ public void removeGraphProducer(GraphProducer producer); /** * Sets the consomptionDelay attribute of the GraphConsumer object * * @param value The new consomptionDelay value */ public void setDelay(long value); } --- NEW FILE: GraphServiceProvider.java --- /* * EJTools, the Enterprise Java Tools * * Distributable under LGPL license. * See terms of license at www.gnu.org. */ package net.sourceforge.ejtools.jmxbrowser.model.services; import java.beans.beancontext.BeanContextServices; import java.util.Iterator; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JOptionPane; import net.sourceforge.ejtools.awt.services.FrameService; import net.sourceforge.ejtools.beans.beancontext.CustomBeanContextServiceProvider; import org.apache.log4j.Logger; /** * @author letiemble * @created 27 novembre 2002 * @version $Revision: 1.1 $ */ public class GraphServiceProvider extends CustomBeanContextServiceProvider implements GraphService { /** Description of the Field */ protected Vector consumers = new Vector(); /** Description of the Field */ protected GraphService service = null; /** Description of the Field */ private static Logger logger = Logger.getLogger(CustomizationServiceProvider.class); protected GraphConsumer temp; /** Constructor for GraphServiceProvider. */ public GraphServiceProvider() { this.service = this; } /** * @param consumer The feature to be added to the GraphConsumer attribute * @see net.sourceforge.ejtools.jmxbrowser.model.services.GraphService#addGraphConsumer(GraphConsumer) */ public void addGraphConsumer(GraphConsumer consumer) { this.consumers.add(consumer); this.temp=consumer; } /** * @param producer The feature to be added to the GraphProducer attribute * @see net.sourceforge.ejtools.jmxbrowser.model.services.GraphService#addGraphProducer(GraphProducer) */ public void addGraphProducer(GraphProducer producer) { // todo // Determine whether a new graphconsumer is created or an existing one is reused System.out.println("In addGraphProducer("+producer+")"); /* BeanContextServices context = (BeanContextServices) getBeanContext(); if (context.hasService(FrameService.class)) { logger.debug("Using service FrameService..."); try { FrameService fservice = (FrameService) context.getService(this, this, FrameService.class, this, this); JFrame frame = (JFrame) fservice.getContainer(); // I18N Todo // JOptionPane.showInputDialog(frame, "Coucou"); context.releaseService(this, this, FrameService.class); } catch (Exception e) { logger.error("Error during utilisation ofgetBeanContext() service FrameService (" + e.getMessage() + ")"); } } */ this.temp.addGraphProducer(producer); } /** * @param bcs Description of the Parameter * @param serviceClass Description of the Parameter * @return The currentServiceSelectors value * @see java.beans.beancontext.BeanContextServiceProvider#getCurrentServiceSelectors(BeanContextServices, Class) */ public Iterator getCurrentServiceSelectors(BeanContextServices bcs, Class serviceClass) { return (new Vector()).iterator(); } /** * @param bcs Description of the Parameter * @param requestor Description of the Parameter * @param serviceClass Description of the Parameter * @param serviceSelector Description of the Parameter * @return The service value * @see java.beans.beancontext.BeanContextServiceProvider#getService(BeanContextServices, Object, Class, Object) */ public Object getService(BeanContextServices bcs, Object requestor, Class serviceClass, Object serviceSelector) { return this.service; } /** * @param bcs Description of the Parameter * @param requestor Description of the Parameter * @param service Description of the Parameter * @see java.beans.beancontext.BeanContextServiceProvider#releaseService(BeanContextServices, Object, Object) */ public void releaseService(BeanContextServices bcs, Object requestor, Object service) { } /** * @param consumer Description of the Parameter * @see net.sourceforge.ejtools.jmxbrowser.model.services.GraphService#removeGraphConsumer(GraphConsumer) */ public void removeGraphConsumer(GraphConsumer consumer) { this.consumers.remove(consumer); } /** * @param producer Description of the Parameter * @see net.sourceforge.ejtools.jmxbrowser.model.services.GraphService#removeGraphProducer(GraphProducer) */ public void removeGraphProducer(GraphProducer producer) { } /** * @return The serviceClass value * @see net.sourceforge.ejtools.beans.beancontext.CustomBeanContextServiceProvider#getServiceClass() */ protected Class getServiceClass() { return GraphService.class; } } --- NEW FILE: GraphService.java --- /* * EJTools, the Enterprise Java Tools * * Distributable under LGPL license. * See terms of license at www.gnu.org. */ package net.sourceforge.ejtools.jmxbrowser.model.services; /** * @author letiemble * @created 27 novembre 2002 * @version $Revision: 1.1 $ */ public interface GraphService { /** * Adds a feature to the GraphProducer attribute of the GraphService object * * @param producer The feature to be added to the GraphProducer attribute */ public void addGraphProducer(GraphProducer producer); /** * Description of the Method * * @param producer Description of the Parameter */ public void removeGraphProducer(GraphProducer producer); /** * Adds a feature to the GraphConsumer attribute of the GraphService object * * @param consumer The feature to be added to the GraphConsumer attribute */ public void addGraphConsumer(GraphConsumer consumer); /** * Description of the Method * * @param consumer Description of the Parameter */ public void removeGraphConsumer(GraphConsumer consumer); } --- NEW FILE: GraphValueProvider.java --- package net.sourceforge.ejtools.jmxbrowser.model.services; /** * @author letiemble * @created 25 novembre 2002 * @version $Revision: 1.1 $ */ public interface GraphValueProvider { /** * Gets the value attribute of the GraphValueProvider object * * @return The value value */ public double getValue(); } Index: CacheServiceProvider.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/CacheServiceProvider.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CacheServiceProvider.java 16 Nov 2002 22:35:26 -0000 1.6 --- CacheServiceProvider.java 27 Nov 2002 23:35:37 -0000 1.7 *************** *** 89,110 **** public Object get(int type, Object key) { ! logger.debug("In provider " + this.hashCode()); ! // Try at this level ! Object o = this.getTable(type).get(key); ! if (o == null) ! { ! // Try at the children level ! Iterator it = this.children.iterator(); ! while (it.hasNext()) ! { ! CacheService service = (CacheService) it.next(); ! o = service.get(type, key); ! if (o != null) ! { ! break; ! } ! } ! } ! return o; } --- 89,93 ---- public Object get(int type, Object key) { ! return this.getTable(type).get(key); } Index: CustomizationServiceProvider.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/CustomizationServiceProvider.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CustomizationServiceProvider.java 24 Oct 2002 22:37:55 -0000 1.4 --- CustomizationServiceProvider.java 27 Nov 2002 23:35:37 -0000 1.5 *************** *** 50,59 **** * @param serviceClass Description of the Parameter * @return The value - * @parambcs Description of the Parameter - * @paramserviceClass Description of the Parameter - * @parambcs Description of the Parameter - * @paramserviceClass Description of the Parameter - * @parambcs Description of Parameter - * @paramserviceClass Description of Parameter */ public Iterator getCurrentServiceSelectors(BeanContextServices bcs, java.lang.Class serviceClass) --- 50,53 ---- *************** *** 186,198 **** * @param requestor Description of the Parameter * @param service Description of the Parameter - * @parambcs Description of the Parameter - * @paramrequestor Description of the Parameter - * @paramservice Description of the Parameter - * @parambcs Description of the Parameter - * @paramrequestor Description of the Parameter - * @paramservice Description of the Parameter - * @parambcs Description of Parameter - * @paramrequestor Description of Parameter - * @paramservice Description of Parameter */ public void releaseService(BeanContextServices bcs, java.lang.Object requestor, java.lang.Object service) { } --- 180,183 ---- Index: CacheService.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/CacheService.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 Index: NotificationServiceProvider.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/NotificationServiceProvider.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NotificationServiceProvider.java 24 Oct 2002 22:37:54 -0000 1.3 --- NotificationServiceProvider.java 27 Nov 2002 23:35:37 -0000 1.4 *************** *** 23,26 **** --- 23,27 ---- import javax.swing.JTable; import javax.swing.table.AbstractTableModel; + import javax.swing.table.TableModel; import net.sourceforge.ejtools.awt.action.Command; *************** *** 44,47 **** --- 45,50 ---- { /** Description of the Field */ + protected NotificationTableModel model = null; + /** Description of the Field */ protected LimitedStack notifications = new LimitedStack(500); /** Description of the Field */ *************** *** 82,93 **** { ConnectionService service = (ConnectionService) context.getService(this, this, ConnectionService.class, this, this); ! ! service.getMBeanServer().addNotificationListener(object, this, null, "JMX BROWSER"); objectNames.add(object.getCanonicalName()); - context.releaseService(this, this, ConnectionService.class); } catch (Exception e) { logger.error("Error during utilisation of service ConnectionService (" + e.getMessage() + ")"); } --- 85,95 ---- { ConnectionService service = (ConnectionService) context.getService(this, this, ConnectionService.class, this, this); ! service.getMBeanServer().addNotificationListener(object, this, null, "EJTOOLS JMX BROWSER"); objectNames.add(object.getCanonicalName()); context.releaseService(this, this, ConnectionService.class); } catch (Exception e) { + e.printStackTrace(); logger.error("Error during utilisation of service ConnectionService (" + e.getMessage() + ")"); } *************** *** 101,105 **** public void clearAll() { ! notifications.clear(); } --- 103,107 ---- public void clearAll() { ! notifications.clear(); } *************** *** 113,117 **** if (this.table == null) { ! this.table = new JTable(new NotificationServiceProvider.NotificationTableModel()); } return this.table; --- 115,120 ---- if (this.table == null) { ! this.model = new NotificationServiceProvider.NotificationTableModel(); ! this.table = new JTable(this.model); } return this.table; *************** *** 156,160 **** { logger.debug("Notification received (" + handback + ")"); ! notifications.push(notification); } --- 159,167 ---- { logger.debug("Notification received (" + handback + ")"); ! this.notifications.push(notification); ! if (this.model != null) ! { ! this.model.fireTableRowsInserted(this.notifications.size(), this.notifications.size()); ! } } *************** *** 182,185 **** --- 189,193 ---- } + /** * Description of the Method *************** *** 212,216 **** { ConnectionService service = (ConnectionService) context.getService(this, this, ConnectionService.class, this, this); - service.getMBeanServer().removeNotificationListener(object, this); objectNames.remove(object.getCanonicalName()); --- 220,223 ---- *************** *** 299,307 **** { case 0: ! return String.class; case 1: return String.class; case 2: ! return Object.class; case 3: return String.class; --- 306,314 ---- { case 0: ! return Object.class; case 1: return String.class; case 2: ! return String.class; case 3: return String.class; *************** *** 333,345 **** { case 0: ! return COLUMN_MESSAGE; case 1: ! return COLUMN_SEQUENCE; case 2: ! return COLUMN_SOURCE; case 3: - return COLUMN_TIMESTAMP; - case 4: return COLUMN_TYPE; } return super.getColumnName(columnIndex); --- 340,352 ---- { case 0: ! return COLUMN_SOURCE; case 1: ! return COLUMN_TIMESTAMP; case 2: ! return COLUMN_SEQUENCE; case 3: return COLUMN_TYPE; + case 4: + return COLUMN_MESSAGE; } return super.getColumnName(columnIndex); *************** *** 365,369 **** public Object getValueAt(int rowIndex, int columnIndex) { - logger.debug("R=" + rowIndex + ",C=" + columnIndex); Object o = null; if (rowIndex < NotificationServiceProvider.this.notifications.size()) --- 372,375 ---- *************** *** 373,389 **** { case 0: ! o = notif.getMessage(); break; case 1: ! o = new String("" + notif.getSequenceNumber()); break; case 2: ! o = notif.getSource(); break; case 3: ! o = new String("" + notif.getTimeStamp()); break; case 4: ! o = notif.getType(); break; } --- 379,395 ---- { case 0: ! o = notif.getSource(); break; case 1: ! o = new String("" + notif.getTimeStamp()); break; case 2: ! o = new String("" + notif.getSequenceNumber()); break; case 3: ! o = notif.getType(); break; case 4: ! o = notif.getMessage(); break; } *************** *** 393,397 **** o = new String("-"); } - logger.debug("R=" + rowIndex + ",C=" + columnIndex + " => " + o); return o; } --- 399,402 ---- Index: JBossEJBConnectionService.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/JBossEJBConnectionService.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JBossEJBConnectionService.java 16 Nov 2002 22:35:26 -0000 1.2 --- JBossEJBConnectionService.java 27 Nov 2002 23:35:37 -0000 1.3 *************** *** 41,49 **** { this.createMBeanServer(); } catch (Exception e) { ! this.connected = false; ! System.out.println("Exception " + e.getMessage()); } } --- 41,50 ---- { this.createMBeanServer(); + this.setConnected(true); } catch (Exception e) { ! e.printStackTrace(); ! this.setConnected(false); } } *************** *** 64,67 **** --- 65,69 ---- // Do nothing } + this.setConnected(false); } Index: JBossRMIConnectionService.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/JBossRMIConnectionService.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JBossRMIConnectionService.java 24 Oct 2002 22:37:55 -0000 1.2 --- JBossRMIConnectionService.java 27 Nov 2002 23:35:37 -0000 1.3 *************** *** 7,10 **** --- 7,13 ---- package net.sourceforge.ejtools.jmxbrowser.model.services; + import java.util.Hashtable; + + import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; *************** *** 23,26 **** --- 26,33 ---- public class JBossRMIConnectionService extends AbstractConnectionService { + /** Description of the Field */ + protected RMIConnectorImpl connector = null; + + /** * @param profile Description of the Parameter *************** *** 33,41 **** { this.createMBeanServer(); } catch (Exception e) { ! this.connected = false; } } --- 40,68 ---- { this.createMBeanServer(); + this.setConnected(true); } catch (Exception e) { ! e.printStackTrace(); ! this.setConnected(false); ! } ! } ! ! ! /** ! * @see net.sourceforge.ejtools.jmxbrowser.model.services.ConnectionService#disconnect() ! */ ! public void disconnect() ! { ! super.disconnect(); ! try ! { ! this.connector.stop(); ! } ! catch (Exception e) ! { ! // Do nothing } + this.setConnected(false); } *************** *** 49,56 **** throws Exception { ! InitialContext context = new InitialContext(); ! Object ref = context.lookup("jmx:" + "dude" + ":rmi"); RMIAdaptor adaptor = (RMIAdaptor) PortableRemoteObject.narrow(ref, RMIAdaptor.class); RMIConnectorImpl connector = new RMIConnectorImpl(adaptor); this.setMBeanServer(MBeanServerProxy.createMBeanProxy(connector)); } --- 76,90 ---- throws Exception { ! Hashtable props = new Hashtable(); ! props.put(Context.INITIAL_CONTEXT_FACTORY, this.profile.getProperty(ConnectionMetaData.FACTORY)); ! props.put(Context.URL_PKG_PREFIXES, this.profile.getProperty(ConnectionMetaData.PACKAGES)); ! props.put(Context.PROVIDER_URL, this.profile.getProperty(ConnectionMetaData.URL)); ! ! InitialContext context = new InitialContext(props); ! Object ref = context.lookup(this.profile.getProperty(ConnectionMetaData.CONTEXT)); ! RMIAdaptor adaptor = (RMIAdaptor) PortableRemoteObject.narrow(ref, RMIAdaptor.class); RMIConnectorImpl connector = new RMIConnectorImpl(adaptor); + this.setMBeanServer(MBeanServerProxy.createMBeanProxy(connector)); } Index: ConnectionServiceProvider.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/ConnectionServiceProvider.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Index: LocalConnectionService.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/LocalConnectionService.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** LocalConnectionService.java 24 Oct 2002 22:37:55 -0000 1.4 --- LocalConnectionService.java 27 Nov 2002 23:35:37 -0000 1.5 *************** *** 32,39 **** { this.createMBeanServer(); } catch (Exception e) { ! this.connected = false; } } --- 32,41 ---- { this.createMBeanServer(); + this.setConnected(true); } catch (Exception e) { ! e.printStackTrace(); ! this.setConnected(false); } } *************** *** 56,60 **** } server = (MBeanServer) servers.get(0); - this.setMBeanServer(server); } --- 58,61 ---- Index: AbstractConnectionService.java =================================================================== RCS file: /cvsroot/ejtools/applications/jmx.browser/src/main/net/sourceforge/ejtools/jmxbrowser/model/services/AbstractConnectionService.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AbstractConnectionService.java 16 Nov 2002 22:35:26 -0000 1.3 --- AbstractConnectionService.java 27 Nov 2002 23:35:37 -0000 1.4 *************** *** 29,39 **** /** ! * @param profile Description of the Parameter ! * @see net.sourceforge.ejtools.jmxbrowser.model.services.ConnectionService#connect() */ public void connect(Profile profile) { this.profile = profile; - this.connected = true; } --- 29,38 ---- /** ! * @param data Description of the Parameter ! * @see net.sourceforge.ejtools.jmxbrowser.model.services.ConnectionService#connect() */ public void connect(Profile profile) { this.profile = profile; } *************** *** 44,48 **** public void disconnect() { - this.connected = false; } --- 43,46 ---- *************** *** 73,76 **** --- 71,85 ---- { return this.connected; + } + + + /** + * Sets the connected. + * + * @param connected The connected to set + */ + public void setConnected(boolean connected) + { + this.connected = connected; } |