mc4j-cvs Mailing List for MC4J JMX Console (Page 35)
Brought to you by:
ghinkl
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(7) |
Apr
(135) |
May
(32) |
Jun
(34) |
Jul
|
Aug
|
Sep
(7) |
Oct
(139) |
Nov
(11) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(34) |
Feb
(1) |
Mar
(12) |
Apr
|
May
(87) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(27) |
Nov
(49) |
Dec
(13) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
(252) |
May
(16) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(3) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
(2) |
Jul
(15) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(6) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/weblogic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19835/application/dashboards/weblogic Added Files: Weblogic_EJBPoolRuntimeTable.xml Weblogic_EJBTransactionRuntime.xml Weblogic_ExecuteQueue_Stats.xml Weblogic_ServletTable.xml Log Message: Updated for the new matching semantics and dashboard specs. Reorganized. --- NEW FILE: Weblogic_ServletTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Servlet Statistics"> <Description>This dashboard shows the statistics of Weblogic Servlets.</Description> <DashboardMatch type="Global" location="/Weblogic/Web"> <BeanMatch id="ServletRuntimeList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="Type=ServletRuntime"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanList" value="ServletRuntimeList"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)ServerRuntime"/> <Attribute name="AttributeName" value="(Literal)Name"/> <Attribute name="AttributeName" value="(Literal)ServletName"/> <Attribute name="AttributeName" value="(Literal)ExecutionTimeAverage"/> <Attribute name="AttributeName" value="(Literal)ExecutionTimeHigh"/> <Attribute name="AttributeName" value="(Literal)ExecutionTimeLow"/> <Attribute name="AttributeName" value="(Literal)ExecutionTimeTotal"/> <Attribute name="AttributeName" value="(Literal)InvocationTotalCount"/> </Component> </Content> </Dashboard> --- NEW FILE: Weblogic_EJBTransactionRuntime.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="EJB Transaction Statistics"> <Description>EJB transaction statistics.</Description> <DashboardMatch type="Global" location="/Weblogic/EJB"> <BeanMatch id="EJBTransactionRuntimeList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="Type=EJBTransactionRuntime"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanList" value="EJBTransactionRuntimeList"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)Location"/> <Attribute name="AttributeName" value="(Literal)Name"/> <Attribute name="AttributeName" value="(Literal)TransactionsCommittedTotalCount"/> <Attribute name="AttributeName" value="(Literal)TransactionsRolledBackTotalCount"/> <Attribute name="AttributeName" value="(Literal)TransactionsTimedOutTotalCount"/> </Component> </Content> </Dashboard> --- NEW FILE: Weblogic_EJBPoolRuntimeTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="EJB Pool Runtime Statistics"> <Description>EJB pool object runtime statistics.</Description> <DashboardMatch type="Global" location="/Weblogic/EJB"> <BeanMatch id="EJBPoolRuntimeList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="Type=EJBPoolRuntime"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanList" value="EJBPoolRuntimeList"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)Location"/> <Attribute name="AttributeName" value="(Literal)Name"/> <Attribute name="AttributeName" value="(Literal)AccessTotalCount"/> <Attribute name="AttributeName" value="(Literal)BeansInUseCount"/> <Attribute name="AttributeName" value="(Literal)BeansInUseCurrentCount"/> <Attribute name="AttributeName" value="(Literal)CachingDisabled"/> <Attribute name="AttributeName" value="(Literal)DestroyedTotalCount"/> <Attribute name="AttributeName" value="(Literal)IdleBeansCount"/> <Attribute name="AttributeName" value="(Literal)MissTotalCount"/> <Attribute name="AttributeName" value="(Literal)PooledBeansCurrentCount"/> <Attribute name="AttributeName" value="(Literal)TimeoutTotalCount"/> <Attribute name="AttributeName" value="(Literal)WaiterCurrentCount"/> <Attribute name="AttributeName" value="(Literal)WaiterTotalCount"/> </Component> </Content> </Dashboard> --- NEW FILE: Weblogic_ExecuteQueue_Stats.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Execute Queue Statistics"> <Description>This dashboard shows the statistics of a WebLogic Execute Queue.</Description> <DashboardMatch type="Global" location="/Weblogic/Web"> <BeanMatch id="ExecuteQueueRuntimeBean" type="Single"> <Condition type="BeanObjectNameCondition" filter="Type=ExecuteQueueRuntime"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <!-- *** Scroll pane of info *** --> <Component type="javax.swing.JScrollPane"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="javax.swing.JPanel"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="preferredSize" value="100,100"/> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Pending Requests"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="ExecuteQueueRuntimeBean"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)PendingRequestCurrentCount"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Requests Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="ExecuteQueueRuntimeBean"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)ServicedRequestTotalCount"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Requests Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="ExecuteQueueRuntimeBean"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)ExecuteThreadCurrentIdleCount"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.FillerComponent"> <Attribute name="type" value="(Literal)VERTICAL_GLUE_SHAPE"/> </Component> </Content> </Component> </Content> </Component> </Content> </Dashboard> |
From: Greg H. <gh...@us...> - 2004-04-07 03:33:18
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/tomcat In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19835/application/dashboards/tomcat Added Files: Tomcat_RequestProcessorTable.xml Tomcat_ServletTable.xml Tomcat_SingleServlet_Graph.xml Log Message: Updated for the new matching semantics and dashboard specs. Reorganized. --- NEW FILE: Tomcat_SingleServlet_Graph.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Tomcat Servlet Statistics Graph"> <Description>This dashboard shows the statistics of a Tomcat servlet.</Description> <DashboardMatch type="Bean"> <BeanMatch id="ServletNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="j2eeType=Servlet"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <!-- *** Scroll pane of info *** --> <Component type="javax.swing.JScrollPane"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="javax.swing.JPanel"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="preferredSize" value="100,100"/> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Request Counts"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="ServletNode"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)requestCount"/> <Attribute name="attributeName" value="(Literal)errorCount"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Execution Speed"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="ServletNode"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)minTime"/> <Attribute name="attributeName" value="(Literal)maxTime"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Processing Time"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="ServletNode"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)processingTime"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.FillerComponent"> <Attribute name="type" value="(Literal)VERTICAL_GLUE_SHAPE"/> </Component> </Content> </Component> </Content> </Component> </Content> </Dashboard> --- NEW FILE: Tomcat_ServletTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Tomcat Servlet Statistics"> <Description>This dashboard shows the statistics of a Tomcat Servlets.</Description> <DashboardMatch type="Global" location="/Tomcat/Web"> <BeanMatch id="ServletList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="j2eeType=Servlet"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanList" value="ServletList"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)J2EEServer"/> <Attribute name="AttributeName" value="(Literal)J2EEApplication"/> <Attribute name="AttributeName" value="(Literal)WebModule"/> <Attribute name="AttributeName" value="(Literal)name"/> <Attribute name="AttributeName" value="(Literal)requestCount"/> <Attribute name="AttributeName" value="(Literal)processingTime"/> <Attribute name="AttributeName" value="(Literal)minTime"/> <Attribute name="AttributeName" value="(Literal)maxTime"/> <Attribute name="AttributeName" value="(Literal)loadTime"/> <Attribute name="AttributeName" value="(Literal)classLoadTime"/> <Attribute name="AttributeName" value="(Literal)errorCount"/> </Component> </Content> </Dashboard> --- NEW FILE: Tomcat_RequestProcessorTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Request Processor Statistics"> <Description>This dashboard shows the statistics of Tomcat Request Processors.</Description> <DashboardMatch type="Global" location="/Tomcat/Web"> <BeanMatch id="RequestProcessorList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="type=RequestProcessor"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanList" value="RequestProcessorList"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)name"/> <Attribute name="AttributeName" value="(Literal)worker"/> <Attribute name="AttributeName" value="(Literal)remoteAddr"/> <Attribute name="AttributeName" value="(Literal)protocol"/> <Attribute name="AttributeName" value="(Literal)requestCount"/> <Attribute name="AttributeName" value="(Literal)requestProcessingTime"/> <Attribute name="AttributeName" value="(Literal)maxTime"/> <Attribute name="AttributeName" value="(Literal)bytesSent"/> <Attribute name="AttributeName" value="(Literal)bytesReceived"/> <Attribute name="AttributeName" value="(Literal)processingTime"/> <Attribute name="AttributeName" value="(Literal)errorCount"/> </Component> </Content> </Dashboard> |
From: Greg H. <gh...@us...> - 2004-04-07 03:33:18
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/jre15 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19835/application/dashboards/jre15 Added Files: JRE15_MemoryUsagePools_PieChart.xml JRE15_MemoryUsage_Graph.xml JRE15_MemoryUsage_LineChart.xml JRE15_ThreadTree.xml Log Message: Updated for the new matching semantics and dashboard specs. Reorganized. --- NEW FILE: JRE15_MemoryUsagePools_PieChart.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Memory Usage Pools"> <Description>Memory usage chart of pools for a 1.5 JVM.</Description> <DashboardMatch type="Global" location="/JVM/Memory"> <BeanMatch id="MBeanList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="type=MemoryPool"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.jre15.components.MemoryUsagePieChartComponent"> <Attribute name="preferredSize" value="(Literal)400,250"/> </Component> <!-- *** Scroll pane of info *** --> <!-- <Component type="javax.swing.JScrollPane"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="javax.swing.JPanel"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="preferredSize" value="100,100"/> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Usage"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.jre15.components.MemoryUsageComponent"> <Attribute name="preferredSize" value="(Literal)400,250"/> <Attribute name="attributeName" value="(Literal)Usage"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Peak Usage"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.jre15.components.MemoryUsageComponent"> <Attribute name="preferredSize" value="(Literal)400,250"/> <Attribute name="attributeName" value="(Literal)PeakUsage"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.FillerComponent"> <Attribute name="type" value="(Literal)VERTICAL_GLUE_SHAPE"/> </Component> </Content> </Component> </Content> </Component> --> </Content> </Dashboard> --- NEW FILE: JRE15_MemoryUsage_Graph.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Memory Usage Graph"> <Description>Memory usage graph for a JRE 1.5 Memory Pool.</Description> <DashboardMatch type="Bean"> <BeanMatch id="MBeanNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="type=MemoryPool"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <!-- *** Scroll pane of info *** --> <Component type="javax.swing.JScrollPane"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="javax.swing.JPanel"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="preferredSize" value="100,100"/> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Usage"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.jre15.components.MemoryUsageComponent"> <Attribute name="preferredSize" value="(Literal)400,250"/> <Attribute name="attributeName" value="(Literal)Usage"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Peak Usage"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> <Content> <Component type="org.mc4j.jre15.components.MemoryUsageComponent"> <Attribute name="preferredSize" value="(Literal)400,250"/> <Attribute name="attributeName" value="(Literal)PeakUsage"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.FillerComponent"> <Attribute name="type" value="(Literal)VERTICAL_GLUE_SHAPE"/> </Component> </Content> </Component> </Content> </Component> </Content> </Dashboard> --- NEW FILE: JRE15_ThreadTree.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Threading"> <Description>Live thread states and stacks.</Description> <DashboardMatch type="Global" location="/JVM"> <BeanMatch id="MBeanNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="type=Threading"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.jre15.components.ThreadMBeanThreadBrowserComponent"> </Component> </Content> </Dashboard> --- NEW FILE: JRE15_MemoryUsage_LineChart.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Memory Usage Pools Line Chart"> <Description>Memory usage chart of pools for a 1.5 JVM.</Description> <DashboardMatch type="Global" location="/JVM/Memory"> <BeanMatch id="MBeanList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="type=MemoryPool"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.jre15.components.MemoryUsageLineChartComponent"> <Attribute name="preferredSize" value="(Literal)400,250"/> </Component> </Content> </Dashboard> |
From: Greg H. <gh...@us...> - 2004-04-07 03:33:18
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/jboss In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19835/application/dashboards/jboss Added Files: JBoss_MQ_QueueTable.xml JBoss_MQ_TopicTable.xml JBoss_ServerInfoMBean.xml JBoss_ServerInfo_Memory.xml JBoss_System_Server_Control.xml JBoss_WebTable.xml JBoss_Web_Jetty.xml Log Message: Updated for the new matching semantics and dashboard specs. Reorganized. --- NEW FILE: JBoss_MQ_QueueTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="MQ Queue Statistics"> <Description>This dashboard shows the statistics of a MQ Queues.</Description> <DashboardMatch type="Global" location="/JBoss/MQ"> <BeanMatch id="QueueBean" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="service=Queue"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanNode" value="QueueBean"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)name"/> <Attribute name="AttributeName" value="(Literal)JNDIName"/> <Attribute name="AttributeName" value="(Literal)StateString"/> <Attribute name="AttributeName" value="(Literal)QueueName"/> <Attribute name="AttributeName" value="(Literal)ReceiversCount"/> </Component> </Content> </Dashboard> --- NEW FILE: JBoss_MQ_TopicTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="MQ Topic Statistics"> <Description>This dashboard shows the statistics of a MQ Topics.</Description> <DashboardMatch type="Global" location="/JBoss/MQ"> <BeanMatch id="QueueTopicBean" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="service=Topic"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanNode" value="QueueTopicBean"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)Name"/> <Attribute name="AttributeName" value="(Literal)JNDIName"/> <Attribute name="AttributeName" value="(Literal)StateString"/> <Attribute name="AttributeName" value="(Literal)AllMessageCount"/> <Attribute name="AttributeName" value="(Literal)AllSubscriptionsCount"/> <Attribute name="AttributeName" value="(Literal)DurableMessageCount"/> <Attribute name="AttributeName" value="(Literal)DurableSubscriptionsCount"/> <Attribute name="AttributeName" value="(Literal)NonDurableMessageCount"/> <Attribute name="AttributeName" value="(Literal)NonDurableSubscriptionsCount"/> </Component> </Content> </Dashboard> --- NEW FILE: JBoss_ServerInfo_Memory.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <!-- Document : BasicMBean.xml Created on : October 6, 2002, 10:01 PM Author : ghinkl Description: Displays the basic information of an MBean --> <Dashboard version="1.0" name="JBoss Memory Meter"> <Description>This dashboard displays basic information relating to the overall execution of a JBoss server.</Description> <DashboardMatch type="Global" location="/JBoss"> <BeanMatch id="JBossServerInfoBean" type="Single"> <Condition type="BeanObjectNameCondition" filter="jboss.system:type=ServerInfo"/> </BeanMatch> </DashboardMatch> <Context name="Match" type="java.lang.String" value="jboss.system:type=ServerInfo"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <!--LayoutManager type="java.awt.GridBagLayout"/--> <LayoutManager type="java.awt.GridLayout" rows="2" cols="1"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTHWEST" fill="HORIZONTAL" gridx="1" gridy="1"/--> <Attribute name="text" value="(Literal)JBoss Memory Status"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="javax.swing.JTextArea"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2"/--> <Attribute name="text" value="(Literal)This Dashboard displays important information about the status of your JBoss Server."/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <!-- *** Contents *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="CENTER"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGaugeMeter"> <Attribute name="beanNode" value="JBossServerInfoBean"/> <Attribute name="maxAttributeName" value="(Literal)MaxMemory"/> <Attribute name="currentAttributeName" value="(Literal)FreeMemory"/> <!--<Attribute name="minimumSize" value="(Literal)50,50"/>--> <Attribute name="label" value="(Literal)Free Memory"/> <Attribute name="updateInterval" value="(Literal)1000"/> <Attribute name="warningPoint" value="(Literal)0.2"/> <Attribute name="criticalPoint" value="(Literal)0.05"/> <Attribute name="title" value="(Literal)Available Memory"/> <Attribute name="units" value="(Literal)bytes"/> </Component> </Content> </Component> </Content> </Dashboard> --- NEW FILE: JBoss_Web_Jetty.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="JBoss Jetty Statistics"> <Description>This dashboard shows the statistics of a Jetty servlet context.</Description> <DashboardMatch type="Global" location="/JBoss/Web" > <BeanMatch id="Jetty" type="Single"> <Condition type="BeanObjectNameCondition" filter="^jboss.web:Jetty=0$"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <!-- *** Scroll pane of info *** --> <Component type="javax.swing.JScrollPane"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="javax.swing.JPanel"> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="preferredSize" value="100,100"/> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Connection Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="2"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="Jetty"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)connections"/> <Attribute name="attributeName" value="(Literal)connectionsOpen"/> <Attribute name="attributeName" value="(Literal)connectionsOpenMax"/> <Attribute name="attributeName" value="(Literal)connectionsRequestsAve"/> <Attribute name="attributeName" value="(Literal)connectionsRequestsMax"/> </Component> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="Jetty"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)connectionsDurationAve"/> <Attribute name="attributeName" value="(Literal)connectionsDurationMax"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)Requests Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridLayout" rows="1" cols="2"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="Jetty"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)requests"/> <Attribute name="attributeName" value="(Literal)requestsActive"/> <Attribute name="attributeName" value="(Literal)requestsActiveMax"/> </Component> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="Jetty"/> <Attribute name="preferredSize" value="(Literal)400,150"/> <Attribute name="attributeName" value="(Literal)requestsDurationAve"/> <Attribute name="attributeName" value="(Literal)requestsDurationMax"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.FillerComponent"> <Attribute name="type" value="(Literal)VERTICAL_GLUE_SHAPE"/> </Component> </Content> </Component> </Content> </Component> </Content> </Dashboard> --- NEW FILE: JBoss_ServerInfoMBean.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <!-- Created on : October 6, 2002, 10:01 PM Author : ghinkl --> <Dashboard version="1.0" name="JBoss Server Info"> <Description>This dashboard displays basic information relating to the overall execution of a JBoss server.</Description> <DashboardMatch type="Global" location="/JBoss"> <BeanMatch id="JBossServerInfoBean" type="Single"> <Condition type="BeanObjectNameCondition" filter="jboss.system:type=ServerInfo"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <!--LayoutManager type="java.awt.GridBagLayout"/--> <LayoutManager type="java.awt.GridLayout" rows="2" cols="1"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTHWEST" fill="HORIZONTAL" gridx="1" gridy="1"/--> <Attribute name="text" value="(Literal)JBoss Management Dashboard"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="javax.swing.JTextArea"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2"/--> <Attribute name="text" value="(Literal)This Dashboard displays important information about the status of your JBoss Server."/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="javax.swing.JSplitPane"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="orientation" value="(Literal)HORIZONTAL_SPLIT"/> <Attribute name="preferredSize" value="(Literal)400,300"/> <Attribute name="minimumSize" value="(Literal)400,300"/> <Attribute name="leftComponent"> <Component type="javax.swing.JScrollPane"> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="1" weightx="1" weighty="1" fill="BOTH"/> <Content> <Component type="org.mc4j.console.dashboard.components.AttributeListComponent"> <Attribute name="beanNode" value="JBossServerInfoBean"/> <!--Attribute name="MBeanNode" value="MBeanNode"/--> <!--Attribute name="AttributeName" value="(Literal)BuildDate"/--> <Attribute name="Label" value="(Literal)Server Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Border type="javax.swing.border.TitledBorder"> <Attribute name="title" value="(Literal)MBean Attributes"/> </Border> </Component> </Content> </Component> </Attribute> <Attribute name="rightComponent"> <Component type="javax.swing.JPanel"> <LayoutManager type="java.awt.GridBagLayout"/> <Content> <Component type="javax.swing.JPanel"> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="1" weightx="0.5" weighty="0.5" fill="BOTH"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeMeter"> <Attribute name="beanNode" value="JBossServerInfoBean"/> <Attribute name="preferredSize" value="(Literal)150,150"/> <Attribute name="maxAttributeName" value="(Literal)MaxMemory"/> <Attribute name="currentAttributeName" value="(Literal)FreeMemory"/> <Attribute name="minimumSize" value="(Literal)50,50"/> <Attribute name="label" value="(Literal)Free Memory"/> <Attribute name="updateInterval" value="(Literal)1000"/> </Component> </Content> </Component> <Component type="javax.swing.JPanel"> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="2" gridy="1" weightx="0.5" weighty="0.5" fill="BOTH"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeMeter"> <Attribute name="beanNode" value="JBossServerInfoBean"/> <Attribute name="preferredSize" value="(Literal)150,150"/> <Attribute name="maxAttributeValue" value="(Literal)500"/> <Attribute name="currentAttributeName" value="(Literal)ActiveThreadCount"/> <Attribute name="minimumSize" value="(Literal)50,50"/> <Attribute name="label" value="(Literal)Active Threads"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="JBossServerInfoBean"/> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2" widthx="2" weightx="0.5" weighty="0.5" fill="BOTH" insets="3,3,3,3"/> <Attribute name="preferredSize" value="(Literal)100,100"/> <Attribute name="attributeName" value="(Literal)FreeMemory"/> </Component> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="JBossServerInfoBean"/> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="2" gridy="2" widthx="2" weightx="0.5" weighty="0.5" fill="BOTH" insets="3,3,3,3"/> <Attribute name="attributeName" value="(Literal)ActiveThreadCount"/> </Component> </Content> </Component> </Attribute> </Component> <!-- List of methods to execute --> <Component type="org.mc4j.console.dashboard.components.OperationListComponent"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="format" value="(Literal)BUTTON_ONLY_FORMAT"/> <Border type="javax.swing.border.TitledBorder"> <Attribute name="title" value="(Literal)Server Actions"/> </Border> </Component> </Content> </Dashboard> --- NEW FILE: JBoss_System_Server_Control.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <!-- Author Greg Hinkle (gh...@us...), May 2003 $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 03:20:24 $) --> <Dashboard version="1.0" name="JBoss Server Control"> <Description>This dashboard has server control operations for JBoss.</Description> <DashboardMatch type="Global" location="/JBoss"> <BeanMatch id="JBossServerNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="^jboss.system:type=Server$"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <!--LayoutManager type="java.awt.GridBagLayout"/--> <LayoutManager type="java.awt.GridLayout" rows="2" cols="1"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTHWEST" fill="HORIZONTAL" gridx="1" gridy="1"/--> <Attribute name="text" value="(Literal)JBoss Server Control"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="javax.swing.JTextArea"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2"/--> <Attribute name="text" value="(Literal)This Dashboard has control operations for the JBoss Server."/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="javax.swing.JScrollPane"> <Constraint type="BorderConstraints" direction="CENTER"/> <Content> <Component type="javax.swing.JPanel"> <Content> <Component type="org.mc4j.console.dashboard.components.OperationListComponent"> <Attribute name="beanNode" value="JBossServerNode"/> <Attribute name="operationName" value="(Literal)runGarbageCollector"/> <Attribute name="operationName" value="(Literal)exit"/> <Attribute name="operationName" value="(Literal)halt"/> <Attribute name="operationName" value="(Literal)shutdown"/> </Component> </Content> </Component> </Content> </Component> </Content> </Dashboard> --- NEW FILE: JBoss_WebTable.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Web Component Statistics"> <Description>This dashboard shows the statistics of a WebLogic Execute Queue.</Description> <DashboardMatch type="Global" location="/JBoss/Web" > <BeanMatch id="VHostList" type="Multiple"> <Condition type="BeanObjectNameCondition" filter="vhost=localhost"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)2000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> <Attribute name="beanList" value="VHostList"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Attribute name="preferredSize" value="100,100"/> <Attribute name="AttributeName" value="(Literal)vhost"/> <Attribute name="AttributeName" value="(Literal)context"/> <Attribute name="AttributeName" value="(Literal)Name"/> <Attribute name="AttributeName" value="(Literal)RequestCount"/> <Attribute name="AttributeName" value="(Literal)MinTime"/> <Attribute name="AttributeName" value="(Literal)MaxTime"/> <Attribute name="AttributeName" value="(Literal)ProcessingTime"/> <Attribute name="AttributeName" value="(Literal)ErrorCount"/> </Component> </Content> </Dashboard> |
From: Greg H. <gh...@us...> - 2004-04-07 03:33:17
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/carbon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19835/application/dashboards/carbon Added Files: Carbon_ConfigurationTree.xml Carbon_MemoryInfo.xml Carbon_ServerInfo.xml Log Message: Updated for the new matching semantics and dashboard specs. Reorganized. --- NEW FILE: Carbon_MemoryInfo.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <!-- Document : BasicMBean.xml Created on : October 6, 2002, 10:01 PM Author : ghinkl Description: Displays the basic information of an MBean --> <Dashboard version="1.0" name="Carbon Memory Info"> <Description>This dashboard displays basic information relating to the overall execution of the Carbon Framework.</Description> <DashboardMatch type="Global"> <BeanMatch id="BeanNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="CarbonManagementComponent"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <!--LayoutManager type="java.awt.GridBagLayout"/--> <LayoutManager type="java.awt.GridLayout" rows="2" cols="1"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTHWEST" fill="HORIZONTAL" gridx="1" gridy="1"/--> <Attribute name="text" value="(Literal)Carbon Management Dashboard"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="javax.swing.JTextArea"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2"/--> <Attribute name="text" value="(Literal)This Dashboard displays important information about the status of your Carbon Component Framework."/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="javax.swing.JScrollPane"> <Content> <Component type="javax.swing.JPanel"> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)General Carbon Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="BeanNode"/> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2" widthx="2" weightx="0.5" weighty="0.5" fill="BOTH" insets="3,3,3,3"/> <Attribute name="preferredSize" value="(Literal)600,600"/> <Attribute name="updateInterval" value="(Literal)500"/> <Attribute name="attributeName" value="(Literal)FreeMemory"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)General Carbon Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="BeanNode"/> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="2" gridy="2" widthx="2" weightx="0.5" weighty="0.5" fill="BOTH" insets="3,3,3,3"/> <Attribute name="attributeName" value="(Literal)ActiveThreadCount"/> </Component> </Content> </Component> </Content> </Component> </Content> </Component> </Content> </Dashboard> --- NEW FILE: Carbon_ConfigurationTree.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <Dashboard version="1.0" name="Carbon Configuration Tree"> <Description>This dashboard shows a tree view Carbon Configurations.</Description> <DashboardMatch type="Global"> <BeanMatch id="BeanNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="type=org.sape.carbon.services.carbonmanagement.CarbonManagementService"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <!-- *** Header *** --> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="text" value="DashboardName"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> <Constraint type="BorderConstraints" direction="EAST"/> <Attribute name="refreshDelay" value="(Literal)30000"/> </Component> <Component type="javax.swing.JTextArea"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="text" value="DashboardDescription"/> <Attribute name="font" value="(Literal)Dialog bold 16"/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <Component type="org.mc4j.carbon.config.tree.ConfigurationTreeComponent"> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> </Component> </Content> </Dashboard> --- NEW FILE: Carbon_ServerInfo.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Dashboard SYSTEM "Dashboard.dtd"> <!-- Document : BasicMBean.xml Created on : October 6, 2002, 10:01 PM Author : ghinkl Description: Displays the basic information of an MBean --> <Dashboard version="1.0" name="Carbon Info (Overview)"> <Description>This dashboard displays basic information relating to the overall execution of the Carbon Framework.</Description> <DashboardMatch type="Global"> <BeanMatch id="BeanNode" type="Single"> <Condition type="BeanObjectNameCondition" filter="CarbonManagementComponent"/> </BeanMatch> </DashboardMatch> <LayoutManager type="java.awt.BorderLayout"/> <Content> <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="NORTH"/> <!--LayoutManager type="java.awt.GridBagLayout"/--> <LayoutManager type="java.awt.GridLayout" rows="2" cols="1"/> <Content> <Component type="javax.swing.JLabel" id="titleLable"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTHWEST" fill="HORIZONTAL" gridx="1" gridy="1"/--> <Attribute name="text" value="(Literal)Carbon Management Dashboard"/> <Attribute name="font" value="(Literal)Dialog bold 24"/> <Attribute name="foreground" value="(Literal)0xFF2222"/> </Component> <Component type="javax.swing.JTextArea"> <!--Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2"/--> <Attribute name="text" value="(Literal)This Dashboard displays important information about the status of your Carbon Component Framework."/> <Attribute name="opaque" value="(Literal)false"/> <Attribute name="editable" value="(Literal)false"/> </Component> </Content> </Component> <!-- <Component type="javax.swing.JPanel"> <Constraint type="BorderConstraints" direction="CENTER"/> --> <Component type="javax.swing.JScrollPane"> <Content> <Component type="javax.swing.JPanel"> <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> <Constraint type="BorderConstraints" direction="CENTER"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)MBean Operations"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <Content> <Component type="org.mc4j.console.dashboard.components.OperationListComponent"> <Attribute name="beanNode" value="BeanNode"/> <Attribute name="format" value="(Literal)FULL_FORMAT"/> </Component> </Content> </Component> <Component type="org.mc4j.console.swing.SectionHolder"> <Attribute name="title" value="(Literal)General Carbon Information"/> <Attribute name="background" value="(Literal)0xFFFFFF"/> <LayoutManager type="java.awt.GridBagLayout"/> <Content> <!-- <Component type="javax.swing.JPanel"> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="1" weightx="0.5" weighty="0.5" fill="BOTH"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeMeter"> <Attribute name="preferredSize" value="(Literal)150,150"/> <Attribute name="maxAttributeName" value="(Literal)TotalMemory"/> <Attribute name="currentAttributeName" value="(Literal)FreeMemory"/> <Attribute name="minimumSize" value="(Literal)50,50"/> <Attribute name="label" value="(Literal)Free Memory"/> <Attribute name="updateInterval" value="(Literal)1000"/> </Component> </Content> </Component> <Component type="javax.swing.JPanel"> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="2" gridy="1" weightx="0.5" weighty="0.5" fill="BOTH"/> <Content> <Component type="org.mc4j.console.dashboard.components.NumericAttributeMeter"> <Attribute name="preferredSize" value="(Literal)150,150"/> <Attribute name="maxAttributeValue" value="(Literal)100"/> <Attribute name="currentAttributeName" value="(Literal)ActiveThreadCount"/> <Attribute name="minimumSize" value="(Literal)50,50"/> <Attribute name="label" value="(Literal)Thread Usage"/> </Component> </Content> </Component> --> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="BeanNode"/> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="1" gridy="2" widthx="2" weightx="0.5" weighty="0.5" fill="BOTH" insets="3,3,3,3"/> <Attribute name="preferredSize" value="(Literal)100,100"/> <Attribute name="updateInterval" value="(Literal)500"/> <Attribute name="attributeName" value="(Literal)FreeMemory"/> </Component> <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> <Attribute name="beanNode" value="BeanNode"/> <Constraint type="java.awt.GridBagConstraints" anchor="NORTH" gridx="2" gridy="2" widthx="2" weightx="0.5" weighty="0.5" fill="BOTH" insets="3,3,3,3"/> <Attribute name="attributeName" value="(Literal)ActiveThreadCount"/> </Component> </Content> </Component> </Content> </Component> </Content> </Component> <!-- List of methods to execute --> <!-- <Component type="org.mc4j.console.dashboard.components.OperationListComponent"> <Constraint type="BorderConstraints" direction="SOUTH"/> <Attribute name="format" value="(Literal)BUTTON_ONLY_FORMAT"/> <Border type="javax.swing.border.TitledBorder"> <Attribute name="title" value="(Literal)Server Actions"/> </Border> </Component> --> </Content> </Dashboard> |
From: Greg H. <gh...@us...> - 2004-04-07 03:31:29
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/jboss In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19533/application/dashboards/jboss Log Message: Directory /cvsroot/mc4j/mc4j/application/dashboards/jboss added to the repository |
From: Greg H. <gh...@us...> - 2004-04-07 03:31:12
|
Update of /cvsroot/mc4j/mc4j/application/dashboards/tomcat In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19478/application/dashboards/tomcat Log Message: Directory /cvsroot/mc4j/mc4j/application/dashboards/tomcat added to the repository |
From: Greg H. <gh...@us...> - 2004-04-07 03:30:00
|
Update of /cvsroot/mc4j/mc4j/src/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19140/src/images Modified Files: Thread.gif ThreadBlocked.gif ThreadRunning.gif ThreadTerminated.gif ThreadWaiting.gif Log Message: Those other icons were terrible. Just going with simple colored circles. Index: ThreadWaiting.gif =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/images/ThreadWaiting.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs3117Lv and /tmp/cvsWp6erp differ Index: ThreadRunning.gif =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/images/ThreadRunning.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsbNKhZC and /tmp/cvskkRsKw differ Index: ThreadBlocked.gif =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/images/ThreadBlocked.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsILgCpM and /tmp/cvs83CBfG differ Index: Thread.gif =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/images/Thread.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvslTVSaP and /tmp/cvs2VGd4I differ Index: ThreadTerminated.gif =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/images/ThreadTerminated.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsMvw7dX and /tmp/cvsTPP9aR differ |
From: Greg H. <gh...@us...> - 2004-04-07 03:29:22
|
Update of /cvsroot/mc4j/mc4j In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18958 Modified Files: build.xml Log Message: Install the dashboard.dtd Index: build.xml =================================================================== RCS file: /cvsroot/mc4j/mc4j/build.xml,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** build.xml 2 Apr 2004 03:38:11 -0000 1.30 --- build.xml 7 Apr 2004 03:16:22 -0000 1.31 *************** *** 189,192 **** --- 189,198 ---- </copy> + <copy todir="${application.install}" overwrite="yes"> + <fileset dir="application/dashboards"> + <include name="*.dtd"/> + </fileset> + </copy> + <!-- install the common library of shared files (images only) --> <!-- |
From: Greg H. <gh...@us...> - 2004-04-07 03:28:15
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18804/src/org/mc4j/console Modified Files: ManagementNode.java Log Message: WARNING: dirty hack to support weblogic connections from mc4j on a 1.5 jre. Index: ManagementNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/ManagementNode.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ManagementNode.java 2 Apr 2004 03:25:26 -0000 1.15 --- ManagementNode.java 7 Apr 2004 03:15:16 -0000 1.16 *************** *** 179,184 **** } ! ! URLClassLoader loader = new URLClassLoader(cpURLs, ManagementNode.class.getClassLoader()); return loader; --- 179,189 ---- } ! // TODO - WARNING: GH - DISGUSTING HACK ! URLClassLoader loader = null; ! if (ManagementNode.WEBLOGIC_CONNECTION.equals(settings.getConnectionType())) { ! loader = new MeFirstClassLoader(cpURLs, ManagementNode.class.getClassLoader()); ! } else { ! loader = new URLClassLoader(cpURLs, ManagementNode.class.getClassLoader()); ! } return loader; *************** *** 189,192 **** --- 194,230 ---- } + /** + * WARNING: GH - DISGUSTING HACK + * This is an aweful little hack that allows us to execute under jdk 1.5 (which includes jmx) + * while utilizing the jmx classes we load from somewhere else. We just override the classloader + * delegation for cases of the "javax.management" classes. + */ + public static class MeFirstClassLoader extends URLClassLoader { + + public MeFirstClassLoader(URL[] urls, ClassLoader parent) { + super(urls, parent); + } + + protected synchronized Class loadClass(String name, boolean resolve) + throws ClassNotFoundException { + Class c = findLoadedClass(name); + if (c == null) { + if (name.contains("javax.management")) { + try { + c = findClass(name); + if (resolve) { + resolveClass(c); + } + } catch(ClassNotFoundException cnfe) { + c = super.loadClass(name,resolve); + } + } else { + c = super.loadClass(name, resolve); + } + } + return c; + } + } + public static IConnectionNode buildTestConnection(String connectionType) { IConnectionNode node = null; |
From: Greg H. <gh...@us...> - 2004-04-07 03:26:57
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18459/src/org/mc4j/console Modified Files: IConnectionNode.java Log Message: Expose connection types. Index: IConnectionNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/IConnectionNode.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IConnectionNode.java 2 Apr 2004 03:26:14 -0000 1.3 --- IConnectionNode.java 7 Apr 2004 03:13:42 -0000 1.4 *************** *** 43,45 **** --- 43,47 ---- String getDefaultCredentials(); + + String GetConnectionType(); } |
From: Greg H. <gh...@us...> - 2004-04-07 03:26:07
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18326/src/org/mc4j/console Modified Files: ConnectionExplorer.java Log Message: Don't let a load failure on one connection break the connections.db loading process for other connections. Index: ConnectionExplorer.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/ConnectionExplorer.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ConnectionExplorer.java 31 Mar 2004 03:20:09 -0000 1.3 --- ConnectionExplorer.java 7 Apr 2004 03:13:08 -0000 1.4 *************** *** 83,88 **** } }); managementNode.loadConnections("MC4J"); ! //open(); //requestActive(); --- 83,91 ---- } }); + try { managementNode.loadConnections("MC4J"); ! } catch (Exception e) { ! ErrorManager.getDefault().notify(e); ! } //open(); //requestActive(); |
From: Greg H. <gh...@us...> - 2004-04-07 03:22:26
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/connection In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17815/src/org/mc4j/console/connection Modified Files: ConnectionNode.java Log Message: Use queryMBeans for weblogic until bea fixes their crappy mbean server Index: ConnectionNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/connection/ConnectionNode.java,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** ConnectionNode.java 2 Apr 2004 03:25:25 -0000 1.24 --- ConnectionNode.java 7 Apr 2004 03:09:31 -0000 1.25 *************** *** 27,30 **** --- 27,31 ---- import java.util.Collections; import java.util.HashMap; + import java.util.HashSet; import java.util.Iterator; import java.util.List; *************** *** 55,58 **** --- 56,60 ---- import org.mc4j.console.IConnectionNode; + import org.mc4j.console.ManagementNode; import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.connection.persistence.ConnectionSetDatabase; *************** *** 169,175 **** MBeanServer server = getMBeanServer(); ! //Set objectInstances = server.queryMBeans(null,null); ! Set objectNames = server.queryNames(null,null); ! StatusDisplayer.getDefault().setStatusText("Loading nodes [" + connectionSettings.getConnectionName() + "] 0 of " + objectNames.size()); --- 171,185 ---- MBeanServer server = getMBeanServer(); ! Set objectNames; ! if (connectionSettings.getConnectionType().equals(ManagementNode.WEBLOGIC_CONNECTION)) { ! Set objectInstances = server.queryMBeans(null,null); ! objectNames = new HashSet(); ! for (Iterator iterator = objectInstances.iterator(); iterator.hasNext();) { ! ObjectInstance objectInstance = (ObjectInstance) iterator.next(); ! objectNames.add(objectInstance.getObjectName()); ! } ! } else { ! objectNames = server.queryNames(null,null); ! } StatusDisplayer.getDefault().setStatusText("Loading nodes [" + connectionSettings.getConnectionName() + "] 0 of " + objectNames.size()); *************** *** 499,502 **** --- 509,516 ---- } + public String GetConnectionType() { + return this.connectionSettings.getConnectionType(); + } + } |
From: Greg H. <gh...@us...> - 2004-04-07 03:21:18
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17635/src/org/mc4j/console/bean Modified Files: DashboardsAction.java Log Message: no message Index: DashboardsAction.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean/DashboardsAction.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** DashboardsAction.java 19 Feb 2004 19:31:42 -0000 1.11 --- DashboardsAction.java 7 Apr 2004 03:08:24 -0000 1.12 *************** *** 22,26 **** import java.awt.event.ActionEvent; import java.util.ArrayList; - import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; --- 22,25 ---- *************** *** 45,48 **** --- 44,48 ---- import org.mc4j.console.dashboard.Dashboard; import org.mc4j.console.dashboard.DashboardFactory; + import org.mc4j.console.dashboard.DashboardManager; import org.mc4j.console.dashboard.DashboardTopComponent; *************** *** 111,115 **** // if false, whole item will just disappear ! return !DashboardManager.getInstance().getDashboards(this.node.getObjectName()).isEmpty(); } --- 111,115 ---- // if false, whole item will just disappear ! return !DashboardManager.getInstance().getDashboards(node).isEmpty(); } *************** *** 169,175 **** if (dashboard == null) { ! DashboardManager.getInstance().initialize(); } else { ! Map context = new HashMap(); context.put(Dashboard.CONTEXT_MBEAN_SERVER, this.node.getMBeanServer()); context.put(Dashboard.CONTEXT_OBJECT_NAME, this.node.getObjectName()); --- 169,175 ---- if (dashboard == null) { ! org.mc4j.console.dashboard.DashboardManager.getInstance().initialize(); } else { ! Map context = dashboard.getContextStarter(); context.put(Dashboard.CONTEXT_MBEAN_SERVER, this.node.getMBeanServer()); context.put(Dashboard.CONTEXT_OBJECT_NAME, this.node.getObjectName()); *************** *** 220,224 **** // create displayNames and associatedInfo somehow ! Set dboards = DashboardManager.getInstance().getDashboards(this.node.getObjectName()); Iterator dbIter = dboards.iterator(); --- 220,224 ---- // create displayNames and associatedInfo somehow ! Set dboards = DashboardManager.getInstance().getDashboards(this.node); Iterator dbIter = dboards.iterator(); |
From: Greg H. <gh...@us...> - 2004-04-07 03:21:03
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean/attribute In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17596/src/org/mc4j/console/bean/attribute Modified Files: AttributePropertyFactory.java Log Message: If we don't have the class for the object type, make it a string. Index: AttributePropertyFactory.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean/attribute/AttributePropertyFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AttributePropertyFactory.java 2 Apr 2004 03:27:55 -0000 1.1 --- AttributePropertyFactory.java 7 Apr 2004 03:08:09 -0000 1.2 *************** *** 55,58 **** --- 55,61 ---- } catch (ClassNotFoundException cnfe) { + //ErrorManager.getDefault().notify(cnfe); + + property = new AttributeProperty(node); } *************** *** 65,68 **** --- 68,74 ---- protected AttributeNode attributeNode; + + protected boolean unknownType = false; + public AttributeProperty(Class type, AttributeNode attributeNode) { super(type); *************** *** 73,76 **** --- 79,87 ---- } + public AttributeProperty(AttributeNode attributeNode) { + this(String.class, attributeNode); + unknownType = true; + } + /** * Can read the value of the property. *************** *** 88,91 **** --- 99,105 ---- */ public boolean canWrite() { + if (unknownType) + return false; + return this.attributeNode.getAttributeInfo().isWritable(); } |
From: Greg H. <gh...@us...> - 2004-04-07 03:20:09
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean/attribute In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17381/src/org/mc4j/console/bean/attribute Modified Files: AttributeNode.java Log Message: NPE avoidance for "unknown" types Index: AttributeNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean/attribute/AttributeNode.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** AttributeNode.java 2 Apr 2004 03:27:55 -0000 1.9 --- AttributeNode.java 7 Apr 2004 03:07:14 -0000 1.10 *************** *** 134,138 **** // TODO GH: How to refresh the property view? ! firePropertyChange(getValueProperty().getName(), oldValue, newValue); } --- 134,140 ---- // TODO GH: How to refresh the property view? ! Node.Property prop = getValueProperty(); ! if (prop != null) ! firePropertyChange(prop.getName(), oldValue, newValue); } |
From: Greg H. <gh...@us...> - 2004-04-07 03:17:23
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17037/src/org/mc4j/console/dashboard Added Files: DashboardLoader.java Log Message: A new static-singleton to do the heavy lifting of building the dashboard object. --- NEW FILE: DashboardLoader.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.openide.ErrorManager; import org.mc4j.console.dashboard.match.BeanCondition; import org.mc4j.console.dashboard.match.BeanMatch; import org.mc4j.console.dashboard.match.DashboardMatch; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; /** * This static singleton is primarily here to load dashboard xml files into their * non-running object representations [Dashboard]. Once parsed and constructed * these object representations can be matched against either beans or globally * to provide cases of a dashboard that can actually be loaded. * * @author Greg Hinkle (gh...@us...), Apr 4, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 03:04:25 $) */ public class DashboardLoader { private static DashboardLoader instance; private DashboardLoader() { } public static DashboardLoader getInstance() { if (instance == null) { instance = new DashboardLoader(); } return instance; } /** * Construct the non-running dashboard object that represents a single dashboard file * that can then later be instantiated and shown to the user. * * @param dashboardFile * @return */ public Dashboard buildDashboard(File dashboardFile) { Dashboard dashboard = null; try { Document document = buildDocument(new FileInputStream(dashboardFile)); Element rootElement = document.getDocumentElement(); dashboard = new Dashboard( rootElement.getAttribute("name"), document); //dashboard.setNameFilter(rootElement.getAttribute("nameFilter")); dashboard.setDescription(rootElement.getElementsByTagName("Description").item(0).getNodeValue()); //dashboard.setIsMultiBean(Boolean.valueOf(rootElement.getAttribute("isMultiBean")).booleanValue()); //dashboard.setGlobal(Boolean.valueOf(rootElement.getAttribute("isGlobal")).booleanValue()); assignDashboardMatch(dashboard, rootElement); } catch(SAXException se) { ErrorManager.getDefault().notify(se); } catch(FileNotFoundException fnfe) { ErrorManager.getDefault().notify(fnfe); } catch(IOException ioe) { ErrorManager.getDefault().notify(ioe); } return dashboard; } /** * Build and assign an object representation of the match section of a * dashboard. This section is used to determine where and if a dashboard will be * an option as well as what beans will be viewable in that dashboard. * * @param dashboard * @param rootElement */ private void assignDashboardMatch(Dashboard dashboard, Element rootElement) { Element dashboardMatchElement = (Element) rootElement.getElementsByTagName("DashboardMatch").item(0); DashboardMatch dashboardMatch = new DashboardMatch(); String type = dashboardMatchElement.getAttribute("type"); if (type != null) dashboardMatch.setType(type); String location = dashboardMatchElement.getAttribute("location"); if (location != null) dashboardMatch.setLocation(location); assignBeanMatchList(dashboardMatch, dashboardMatchElement); dashboard.setDashboardMatch(dashboardMatch); } private void assignBeanMatchList(DashboardMatch dashboardMatch, Element dashboardMatchElement) { NodeList beanMatches = dashboardMatchElement.getElementsByTagName("BeanMatch"); for (int i = 0; i < beanMatches.getLength(); i++) { Element beanMatchElement = (Element) beanMatches.item(i); assignBeanMatch(dashboardMatch, beanMatchElement); } } private void assignBeanMatch(DashboardMatch dashboardMatch, Element beanMatchElement) { BeanMatch beanMatch = new BeanMatch(); beanMatch.setId(beanMatchElement.getAttribute("id")); beanMatch.setType(beanMatchElement.getAttribute("type")); NodeList nodes = beanMatchElement.getElementsByTagName("Condition"); for (int i = 0; i < nodes.getLength(); i++) { Element conditionElement = (Element) nodes.item(i); assignConditionList(beanMatch, conditionElement); } dashboardMatch.addBeanMatch(beanMatch); } private void assignConditionList(BeanMatch beanMatch, Element beanMatchElement) { String type = beanMatchElement.getAttribute("type"); try { Class conditionClass = Class.forName("org.mc4j.console.dashboard.match." + type); BeanCondition condition = (BeanCondition) conditionClass.newInstance(); condition.initializeCondition(beanMatchElement); beanMatch.addCondition(condition); } catch(ClassNotFoundException cnfe) { ErrorManager.getDefault().notify(cnfe); } catch(IllegalAccessException iae) { ErrorManager.getDefault().notify(iae); } catch(InstantiationException ie) { ErrorManager.getDefault().notify(ie); } } private Document buildDocument(InputStream is) throws SAXException, IOException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder(); } catch (ParserConfigurationException pce) { System.out.println(pce); } Document document = builder.parse(is); return document; } } |
From: Greg H. <gh...@us...> - 2004-04-07 03:12:25
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/global In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16121/src/org/mc4j/console/dashboard/global Modified Files: GlobalDashboardChildren.java GlobalDashboardNode.java GlobalDashboardSetNode.java OpenDashboardAction.java Log Message: Support for the new dashboard matching system. Also support for a dashboard location or path that can be an arbitrary hierarchical layout for global dashboards. Index: OpenDashboardAction.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/global/OpenDashboardAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** OpenDashboardAction.java 19 Feb 2004 19:31:42 -0000 1.5 --- OpenDashboardAction.java 7 Apr 2004 02:59:16 -0000 1.6 *************** *** 47,59 **** final GlobalDashboardNode node = (GlobalDashboardNode) nodes[0]; ! Map context = new HashMap(); context.put(Dashboard.CONTEXT_MBEAN_SERVER, node.getConnectionNode().getMBeanServer()); ! if (node.getDashboard().isIsMultiBean()) { ! context.put(Dashboard.CONTEXT_MBEAN_LIST, node.getMbeanNodeList()); ! } else { ! context.put(Dashboard.CONTEXT_OBJECT_NAME, node.getMBeanNode().getObjectName()); ! context.put(Dashboard.CONTEXT_MBEAN_NODE, node.getMBeanNode()); ! } DashboardFactory factory = new DashboardFactory(); --- 47,56 ---- final GlobalDashboardNode node = (GlobalDashboardNode) nodes[0]; ! ! ! Map context = node.getDashboard().getContextStarter(); context.put(Dashboard.CONTEXT_MBEAN_SERVER, node.getConnectionNode().getMBeanServer()); ! DashboardFactory factory = new DashboardFactory(); *************** *** 63,66 **** --- 60,64 ---- SwingUtilities.invokeLater(new Runnable() { public void run() { + tc.setActivatedNodes(new Node[] { node }); tc.setDisplayName(node.getDashboard().getName()); tc.open(); Index: GlobalDashboardSetNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/global/GlobalDashboardSetNode.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GlobalDashboardSetNode.java 7 Feb 2004 16:10:41 -0000 1.2 --- GlobalDashboardSetNode.java 7 Apr 2004 02:59:16 -0000 1.3 *************** *** 21,24 **** --- 21,25 ---- import org.openide.nodes.AbstractNode; + import org.openide.nodes.Children; import org.openide.util.HelpCtx; import org.openide.util.actions.NodeAction; *************** *** 26,30 **** import org.mc4j.console.Refreshable; ! import org.mc4j.console.bean.DashboardManager; import org.mc4j.console.bean.RefreshAction; import org.mc4j.console.connection.ConnectionNode; --- 27,31 ---- import org.mc4j.console.Refreshable; ! import org.mc4j.console.dashboard.DashboardManager; import org.mc4j.console.bean.RefreshAction; import org.mc4j.console.connection.ConnectionNode; *************** *** 61,67 **** } public void refresh() { ! DashboardManager.getInstance().initialize(); ((GlobalDashboardChildren)getChildren()).loadChildren(); } --- 62,78 ---- } + public GlobalDashboardSetNode(ConnectionNode parentConnection, String name) { + super(new Children.Array()); + this.parentConnection = parentConnection; + setIconBase("org/mc4j/console/dashboard/global/GlobalDashboardSetIcon"); + + setName(name); + setDisplayName(name); + + } + public void refresh() { ! org.mc4j.console.dashboard.DashboardManager.getInstance().initialize(); ((GlobalDashboardChildren)getChildren()).loadChildren(); } Index: GlobalDashboardChildren.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/global/GlobalDashboardChildren.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** GlobalDashboardChildren.java 7 Feb 2004 16:10:41 -0000 1.5 --- GlobalDashboardChildren.java 7 Apr 2004 02:59:16 -0000 1.6 *************** *** 26,29 **** --- 26,30 ---- import java.util.List; import java.util.Set; + import java.util.StringTokenizer; import org.openide.nodes.AbstractNode; *************** *** 31,38 **** import org.openide.nodes.Node; ! import org.mc4j.console.bean.DashboardManager; import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.connection.ConnectionNode; import org.mc4j.console.dashboard.Dashboard; /** --- 32,41 ---- import org.openide.nodes.Node; ! import org.mc4j.console.dashboard.DashboardManager; import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.connection.ConnectionNode; import org.mc4j.console.dashboard.Dashboard; + import org.mc4j.console.dashboard.DashboardLoader; + import org.mc4j.console.dashboard.match.MatchExecutor; /** *************** *** 97,129 **** Set dashboards = DashboardManager.getInstance().getDashboards(); - List mbeanNodes = this.connectionNode.getMBeanList(); for (Iterator iterator = dashboards.iterator(); iterator.hasNext();) { Dashboard dashboard = (Dashboard) iterator.next(); ! Node globalDashboardNode = null; ! if (dashboard.isGlobal()) { ! if (dashboard.isIsMultiBean()) { ! List list = new ArrayList(); ! for (int i = 0; i < mbeanNodes.size(); i++) { ! MBeanNode mBeanNode = (MBeanNode) mbeanNodes.get(i); ! if (dashboard.matches(mBeanNode.getObjectName())) { ! list.add(mBeanNode); ! } ! } ! if (!list.isEmpty()) ! globalDashboardNode = new GlobalDashboardNode(dashboard, this.connectionNode, list); ! } else { ! for (int i = 0; i < mbeanNodes.size(); i++) { ! MBeanNode mBeanNode = (MBeanNode) mbeanNodes.get(i); ! if (dashboard.matches(mBeanNode.getObjectName())) { ! globalDashboardNode = new GlobalDashboardNode(dashboard, this.connectionNode, mBeanNode); ! } ! } } ! if (globalDashboardNode != null) ! add(new Node[] { globalDashboardNode } ); } } --- 100,122 ---- Set dashboards = DashboardManager.getInstance().getDashboards(); for (Iterator iterator = dashboards.iterator(); iterator.hasNext();) { Dashboard dashboard = (Dashboard) iterator.next(); ! GlobalDashboardNode globalDashboardNode = null; ! List matches = MatchExecutor.getInstance().matchGlobalDashboards(dashboard, connectionNode); ! if (matches != null) { ! for (int i = 0; i < matches.size(); i++) { ! Dashboard matchedDashboard = (Dashboard) matches.get(i); ! globalDashboardNode = ! new GlobalDashboardNode(matchedDashboard,connectionNode); } ! } ! ! ! if (globalDashboardNode != null) { ! insertIntoTree(globalDashboardNode); } } *************** *** 133,135 **** --- 126,165 ---- } + + protected void insertIntoTree(GlobalDashboardNode dashboardNode) { + + + // e.g. location="/JVM" + String location = dashboardNode.getDashboard().getDashboardMatch().getLocation(); + + if (location == null) { + add(new Node[] { dashboardNode }); + } else { + StringTokenizer tok = new StringTokenizer(location, "/"); + GlobalDashboardSetNode base = (GlobalDashboardSetNode) getNode(); + while (tok.hasMoreTokens()) { + String path = tok.nextToken(); + GlobalDashboardSetNode pathNode = findChild(base, path); + if (pathNode == null) { + pathNode = new GlobalDashboardSetNode(connectionNode, path); + base.getChildren().add(new Node[] { pathNode }); + } + base = pathNode; + } + base.getChildren().add(new Node[] { dashboardNode }); + + } + } + + protected GlobalDashboardSetNode findChild(Node parent, String name) { + Node[] children = parent.getChildren().getNodes(); + for (int i = 0; i < children.length; i++) { + Node child = children[i]; + if (name.equals(child.getName()) && child instanceof GlobalDashboardSetNode) { + return (GlobalDashboardSetNode) child; + } + } + return null; + } + } Index: GlobalDashboardNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/global/GlobalDashboardNode.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** GlobalDashboardNode.java 7 Feb 2004 16:10:41 -0000 1.3 --- GlobalDashboardNode.java 7 Apr 2004 02:59:16 -0000 1.4 *************** *** 28,31 **** --- 28,33 ---- import org.openide.util.HelpCtx; import org.openide.util.actions.SystemAction; + import org.openide.cookies.PrintCookie; + import org.openide.windows.IOProvider; import org.mc4j.console.bean.MBeanNode; *************** *** 50,53 **** --- 52,71 ---- private Dashboard dashboard; + public GlobalDashboardNode(Dashboard dashboard, ConnectionNode connectionNode) { + super(Children.LEAF); + + this.dashboard = dashboard; + this.connectionNode = connectionNode; + + setIconBase("org/mc4j/console/dashboard/global/GlobalDashboardIcon"); + + setName(dashboard.getName()); + + setDisplayName(dashboard.getName()); + + setShortDescription(dashboard.getDescription()); + + + } public GlobalDashboardNode(Dashboard dashboard, ConnectionNode connectionNode, MBeanNode mbeanNode) { *************** *** 65,68 **** --- 83,92 ---- setShortDescription("Dashboard on " + mbeanNode.getObjectName().getCanonicalName()); + + getCookieSet().add(new PrintCookie() { + public void print() { + IOProvider.getDefault().getStdOut().println("I'd like to print something"); + } + }); } |
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15665/src/org/mc4j/console/dashboard/components Modified Files: AttributeListComponent.java AttributeTableComponent.java AttributeTreeTableExplorer.java MBeanTreeComponent.java NumericAttributeGaugeMeter.java NumericAttributeGraph.java NumericAttributeMeter.java OperationListComponent.java RefreshControlComponent.java RelationsGraphComponent.java RelationsGraphComponent3.java RelationsGraphComponent4.java Added Files: BeanComponent.java BeanListComponent.java Log Message: Components updated to have their matches set rather than searching the context programatically. Index: AttributeTableComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/AttributeTableComponent.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AttributeTableComponent.java 17 Feb 2004 02:05:06 -0000 1.4 --- AttributeTableComponent.java 7 Apr 2004 02:56:39 -0000 1.5 *************** *** 55,59 **** * @version $Revision$($Author$ / $Date$) */ ! public class AttributeTableComponent extends JPanel implements DashboardComponent, Runnable, Refreshable { protected List attributeNames = new ArrayList(); --- 55,59 ---- * @version $Revision$($Author$ / $Date$) */ ! public class AttributeTableComponent extends JPanel implements BeanListComponent, Runnable { protected List attributeNames = new ArrayList(); *************** *** 238,245 **** } public void setContext(Map context) { ! this.mbeanNodes = (List) context.get(Dashboard.CONTEXT_MBEAN_LIST); init(); } --- 238,251 ---- } + public void setBeanList(List list) { + this.mbeanNodes = list; + } public void setContext(Map context) { ! if (this.mbeanNodes == null) { ! throw new IllegalStateException( ! "AttributeTableComponent: You must specify an appropriate [beanList] attribute."); ! } init(); } Index: NumericAttributeMeter.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/NumericAttributeMeter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** NumericAttributeMeter.java 7 Feb 2004 16:10:41 -0000 1.9 --- NumericAttributeMeter.java 7 Apr 2004 02:56:39 -0000 1.10 *************** *** 37,45 **** * @version $Revision$($Author$ / $Date$) */ ! public class NumericAttributeMeter extends TopComponent implements Runnable, DashboardComponent { private MBeanServer server; private ObjectName objectName; private String currentAttributeName; --- 37,47 ---- * @version $Revision$($Author$ / $Date$) */ ! public class NumericAttributeMeter extends TopComponent implements Runnable, BeanComponent { private MBeanServer server; private ObjectName objectName; + private MBeanNode beanNode; + private String currentAttributeName; *************** *** 99,108 **** } public void setContext(Map context) { ! MBeanNode node = (MBeanNode) context.get("MBeanNode"); ! this.server = node.getMBeanServer(); ! this.objectName = node.getObjectName(); Thread updater = new Thread(this, "mc4j NumericAttributeMeter Updater"); --- 101,116 ---- } + public void setBeanNode(MBeanNode node) { + this.beanNode = node; + } public void setContext(Map context) { ! if (this.beanNode == null) { ! throw new IllegalStateException( ! "NumericAttributeMeter: context atribute [beanNode] not set."); ! } ! this.server = this.beanNode.getMBeanServer(); ! this.objectName = this.beanNode.getObjectName(); Thread updater = new Thread(this, "mc4j NumericAttributeMeter Updater"); Index: OperationListComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/OperationListComponent.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** OperationListComponent.java 7 Feb 2004 16:10:41 -0000 1.6 --- OperationListComponent.java 7 Apr 2004 02:56:39 -0000 1.7 *************** *** 54,58 **** * @version $Revision$($Author$ / $Date$) */ ! public class OperationListComponent extends JPanel implements DashboardComponent { public static final int BUTTON_ONLY_FORMAT = 1; --- 54,58 ---- * @version $Revision$($Author$ / $Date$) */ ! public class OperationListComponent extends JPanel implements BeanComponent { public static final int BUTTON_ONLY_FORMAT = 1; *************** *** 68,72 **** private Set operationNames = new HashSet(); ! private MBeanNode mbeanNode; private int format = FULL_FORMAT; --- 68,72 ---- private Set operationNames = new HashSet(); ! private MBeanNode beanNode; private int format = FULL_FORMAT; *************** *** 102,106 **** this.setOpaque(false); ! Set operSet = this.mbeanNode.getOperationNodeMap().entrySet(); Iterator operIter = operSet.iterator(); int row = 1; --- 102,106 ---- this.setOpaque(false); ! Set operSet = this.beanNode.getOperationNodeMap().entrySet(); Iterator operIter = operSet.iterator(); int row = 1; *************** *** 205,217 **** executor.start(); } - - public void setContext(Map context) { - if (this.objectName == null) { - this.mbeanNode = (MBeanNode) context.get(Dashboard.CONTEXT_MBEAN_NODE); ! } else { ! ConnectionNode connectionNode = (ConnectionNode) context.get(Dashboard.CONTEXT_CONNECTION_NODE); ! this.mbeanNode = connectionNode.getMBeanNode(this.objectName); } refresh(); --- 205,217 ---- executor.start(); } ! public void setBeanNode(MBeanNode node) { ! this.beanNode = node; ! } ! public void setContext(Map context) { ! if (this.beanNode == null) { ! throw new IllegalStateException( ! "OperationListComponent: context atribute [beanNode] not set."); } refresh(); Index: RelationsGraphComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/RelationsGraphComponent.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RelationsGraphComponent.java 7 Feb 2004 16:10:41 -0000 1.4 --- RelationsGraphComponent.java 7 Apr 2004 02:56:39 -0000 1.5 *************** *** 59,63 **** */ public class RelationsGraphComponent ! extends DashboardTopComponent implements DashboardComponent { protected JGraph graph; --- 59,63 ---- */ public class RelationsGraphComponent ! extends DashboardTopComponent implements BeanComponent { protected JGraph graph; *************** *** 73,84 **** } ! public void setContext(Map context) { ! if (this.objectName == null) { ! this.mbeanNode = (MBeanNode) context.get(Dashboard.CONTEXT_MBEAN_NODE); ! ! } else { ! ConnectionNode connectionNode = (ConnectionNode) context.get(Dashboard.CONTEXT_CONNECTION_NODE); ! this.mbeanNode = connectionNode.getMBeanNode(this.objectName); } refresh(); --- 73,84 ---- } ! public void setBeanNode(MBeanNode node) { ! this.mbeanNode = node; ! } ! public void setContext(Map context) { ! if (this.mbeanNode == null) { ! throw new IllegalStateException( ! "RelationsGraphComponent: attribute [beanNode] must be provided with a relationship service bean."); } refresh(); Index: RefreshControlComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/RefreshControlComponent.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RefreshControlComponent.java 19 Feb 2004 19:31:42 -0000 1.3 --- RefreshControlComponent.java 7 Apr 2004 02:56:39 -0000 1.4 *************** *** 177,181 **** } } ! if (container instanceof Refreshable) { ((Refreshable)container).refresh(); } --- 177,182 ---- } } ! if (container instanceof Refreshable && ! !(container instanceof RefreshControlComponent)) { ((Refreshable)container).refresh(); } Index: NumericAttributeGraph.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/NumericAttributeGraph.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** NumericAttributeGraph.java 3 Mar 2004 23:05:19 -0000 1.11 --- NumericAttributeGraph.java 7 Apr 2004 02:56:39 -0000 1.12 *************** *** 39,46 **** * @version $Revision$($Author$ / $Date$) */ ! public class NumericAttributeGraph extends AttributeGraphPanel implements DashboardComponent { protected Set attributeSet = new HashSet(); /* --- 39,47 ---- * @version $Revision$($Author$ / $Date$) */ ! public class NumericAttributeGraph extends AttributeGraphPanel implements BeanComponent { protected Set attributeSet = new HashSet(); + protected MBeanNode node; /* *************** *** 91,98 **** } public void setContext(Map context) { ! MBeanNode node = (MBeanNode) context.get("MBeanNode"); ! ObjectName objectName = node.getObjectName(); MBeanAttributeInfo[] completeAttributeInfo = node.getMBeanInfo().getAttributes(); --- 92,107 ---- } + public void setBeanNode(MBeanNode mBeanNode) { + this.node = mBeanNode; + } + public void setContext(Map context) { ! ! if (node == null) { ! throw new IllegalStateException( ! "NumericAttributeGraph: context atribute [beanNode] not set."); ! } ! ObjectName objectName = node.getObjectName(); MBeanAttributeInfo[] completeAttributeInfo = node.getMBeanInfo().getAttributes(); *************** *** 116,199 **** reschedule(); - /* - DateAxis domain = new DateAxis("Time"); - NumberAxis range = new NumberAxis(""); - - - this.xyplot = new XYPlot(dataset, domain, range, new DefaultXYItemRenderer()); - domain.setAutoRange(true); - domain.setLowerMargin(0.0); - domain.setUpperMargin(0.0); - domain.setTickLabelsVisible(true); - - range.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); - - JFreeChart chart = - new JFreeChart( - "", - JFreeChart.DEFAULT_TITLE_FONT, - xyplot, - true); - - chart.setTitle( - new TextTitle("Graph: " + this.objectName.getCanonicalName(), - new Font("SansSerif",Font.BOLD, 12))); - - // Don't anti-alias - chart.setAntiAlias(false); - - ChartPanel chartPanel = new ChartPanel(chart,false,true,true,false,false); - //chartPanel.setPopupMenu(null); - chartPanel.setOpaque(false); - chart.setBackgroundPaint(this.getBackground()); - chartPanel.setBackground(this.getBackground()); - //chartPanel.setBorder(new LineBorder(Color.BLACK,1)); - add(chartPanel); - - this.dataGenerator = new DataGenerator(); - this.dataGenerator.start(); - */ - } - - /* - public void addObservation(String attributeName) { - try { - Object value = this.server.getAttribute(this.objectName, attributeName); - Number val = (Number) value; - - TimeSeries ts = (TimeSeries) this.timeSeriesMap.get(attributeName); - ts.add(new Millisecond(), val.doubleValue()); - failures--; - } catch (Exception e) { - failures++; - org.openide.windows.IOProvider.getDefault().getStdOut().println(e); - } - if (failures > MAX_FAILURES) { - this.dataGenerator.stop(); - } } - */ - - - /* - class DataGenerator extends Timer implements ActionListener { - - DataGenerator() { - super(200, null); - addActionListener(this); - } - - - public void actionPerformed(ActionEvent event) { - Iterator iter = timeSeriesMap.keySet().iterator(); - while (iter.hasNext()) { - addObservation((String)iter.next()); - } - - int sleep = sleepSlider.getValue(); - this.setDelay(sleep); - } - } - */ } --- 125,129 ---- --- NEW FILE: BeanComponent.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.components; import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.dashboard.DashboardComponent; /** * Implemenations of this type of dashboard component are designed to display * or control only a single bean and are designed to work with the "Single" type * of BeanMatch. * * @author Greg Hinkle (gh...@us...), Apr 6, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:56:39 $) */ public interface BeanComponent extends DashboardComponent { void setBeanNode(MBeanNode node); } --- NEW FILE: BeanListComponent.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.components; import java.util.List; import org.mc4j.console.dashboard.DashboardComponent; /** * Implementations of this type of dashboard component are meant to provide * displays of lists of beans and are linked to the "Multiple" type of * BeanMatch. * * @author Greg Hinkle (gh...@us...), Apr 6, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:56:39 $) */ public interface BeanListComponent extends DashboardComponent { /** * Used to specify the list of beans that will be used by a component * for display. * @param beanList */ void setBeanList(List beanList); } Index: RelationsGraphComponent3.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/RelationsGraphComponent3.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RelationsGraphComponent3.java 7 Feb 2004 16:10:41 -0000 1.3 --- RelationsGraphComponent3.java 7 Apr 2004 02:56:39 -0000 1.4 *************** *** 37,40 **** --- 37,41 ---- import org.openide.ErrorManager; + import org.openide.nodes.BeanNode; import org.mc4j.console.bean.MBeanNode; *************** *** 56,60 **** */ public class RelationsGraphComponent3 ! extends GLPanel implements DashboardComponent { protected ObjectName objectName; --- 57,61 ---- */ public class RelationsGraphComponent3 ! extends GLPanel implements BeanComponent { protected ObjectName objectName; *************** *** 103,119 **** ! ! ! public void setContext(Map context) { ! if (this.objectName == null) { ! this.mbeanNode = (MBeanNode) context.get(Dashboard.CONTEXT_MBEAN_NODE); ! ! } else { ! ConnectionNode connectionNode = (ConnectionNode) context.get(Dashboard.CONTEXT_CONNECTION_NODE); ! ! this.mbeanNode = connectionNode.getMBeanNode(this.objectName); } refresh(); --- 104,116 ---- ! public void setBeanNode(MBeanNode node) { ! this.mbeanNode = node; ! } public void setContext(Map context) { ! if (this.mbeanNode == null) { ! throw new IllegalStateException( ! "RelationsGraphComponent3: attribute [beanNode] must be provided with a valid Relation service bean."); } refresh(); Index: AttributeTreeTableExplorer.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/AttributeTreeTableExplorer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AttributeTreeTableExplorer.java 2 Apr 2004 03:32:38 -0000 1.1 --- AttributeTreeTableExplorer.java 7 Apr 2004 02:56:39 -0000 1.2 *************** *** 48,52 **** */ public class AttributeTreeTableExplorer extends TopComponent ! implements DashboardComponent, Refreshable, ExplorerManager.Provider, Lookup.Provider { private ExplorerManager manager; --- 48,52 ---- */ public class AttributeTreeTableExplorer extends TopComponent ! implements BeanComponent, ExplorerManager.Provider, Lookup.Provider { private ExplorerManager manager; *************** *** 121,128 **** } public void setContext(Map context) { ! this.beanNode = (MBeanNode) context.get(Dashboard.CONTEXT_MBEAN_NODE); createComponents(); --- 121,134 ---- } + public void setBeanNode(MBeanNode node) { + this.beanNode = node; + } public void setContext(Map context) { ! if (this.beanNode == null) { ! throw new IllegalStateException( ! "AttributeTreeTableExplorer: context atribute [beanNode] not set."); ! } createComponents(); Index: NumericAttributeGaugeMeter.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/NumericAttributeGaugeMeter.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** NumericAttributeGaugeMeter.java 7 Feb 2004 16:10:41 -0000 1.6 --- NumericAttributeGaugeMeter.java 7 Apr 2004 02:56:39 -0000 1.7 *************** *** 47,55 **** * @version $Revision$($Author$ / $Date$) */ ! public class NumericAttributeGaugeMeter extends TopComponent implements Runnable, DashboardComponent { private MBeanServer server; private ObjectName objectName; private String currentAttributeName; --- 47,57 ---- * @version $Revision$($Author$ / $Date$) */ ! public class NumericAttributeGaugeMeter extends TopComponent implements BeanComponent, Runnable { private MBeanServer server; private ObjectName objectName; + private MBeanNode beanNode; + private String currentAttributeName; *************** *** 166,175 **** } public void setContext(Map context) { ! MBeanNode node = (MBeanNode) context.get("MBeanNode"); ! this.server = node.getMBeanServer(); ! this.objectName = node.getObjectName(); Thread updater = new Thread(this, "mc4j NumericAttributeGauge Updater"); --- 168,183 ---- } + public void setBeanNode(MBeanNode node) { + this.beanNode = node; + } public void setContext(Map context) { ! if (this.beanNode == null) { ! throw new IllegalStateException( ! "NumericAttributeGaugeMeter: context atribute [beanNode] not set."); ! } ! this.server = this.beanNode.getMBeanServer(); ! this.objectName = this.beanNode.getObjectName(); Thread updater = new Thread(this, "mc4j NumericAttributeGauge Updater"); Index: RelationsGraphComponent4.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/RelationsGraphComponent4.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RelationsGraphComponent4.java 7 Feb 2004 16:10:41 -0000 1.2 --- RelationsGraphComponent4.java 7 Apr 2004 02:56:39 -0000 1.3 *************** *** 25,31 **** import org.mc4j.console.dashboard.DashboardComponent; import org.mc4j.console.dashboard.DashboardTopComponent; ! ! public class RelationsGraphComponent4 extends DashboardTopComponent implements DashboardComponent { RelationsGraphComponent3 g; --- 25,32 ---- import org.mc4j.console.dashboard.DashboardComponent; import org.mc4j.console.dashboard.DashboardTopComponent; + import org.mc4j.console.bean.MBeanNode; ! // TODO GH - These relationship components need to be cleaned up ! public class RelationsGraphComponent4 extends DashboardTopComponent implements BeanComponent { RelationsGraphComponent3 g; *************** *** 40,43 **** --- 41,48 ---- + public void setBeanNode(MBeanNode node) { + g.setBeanNode(node); + } + public void setContext(Map context) { g.setContext(context); Index: AttributeListComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/AttributeListComponent.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AttributeListComponent.java 7 Feb 2004 16:10:41 -0000 1.5 --- AttributeListComponent.java 7 Apr 2004 02:56:39 -0000 1.6 *************** *** 41,45 **** * @version $Revision$($Author$ / $Date$) */ ! public class AttributeListComponent extends JPanel implements DashboardComponent { Set nodeNames = new HashSet(); --- 41,45 ---- * @version $Revision$($Author$ / $Date$) */ ! public class AttributeListComponent extends JPanel implements BeanComponent { Set nodeNames = new HashSet(); *************** *** 123,129 **** return valueLabel; } ! public void setContext(Map context) { ! this.mbeanNode = (MBeanNode) context.get("MBeanNode"); refresh(); } --- 123,138 ---- return valueLabel; } ! ! public void setBeanNode(MBeanNode node) { ! this.mbeanNode = node; ! } ! ! ! public void setContext(Map context) { ! if (this.mbeanNode == null) { ! throw new IllegalStateException( ! "AttributeListComponent: context atribute [beanNode] not set."); ! } refresh(); } Index: MBeanTreeComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/components/MBeanTreeComponent.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MBeanTreeComponent.java 7 Feb 2004 16:10:41 -0000 1.5 --- MBeanTreeComponent.java 7 Apr 2004 02:56:39 -0000 1.6 *************** *** 20,23 **** --- 20,25 ---- package org.mc4j.console.dashboard.components; + import org.openide.windows.IOProvider; + import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.swing.ExtendedExplorerPanel; *************** *** 39,43 **** node.getChildren(); ! org.openide.windows.IOProvider.getDefault().getStdOut().println("Node: " + node.getDisplayName()); getExplorerManager().setRootContext(node); --- 41,45 ---- node.getChildren(); ! IOProvider.getDefault().getIO("Dashboard debugging",false).getOut().println("Node: " + node.getDisplayName()); getExplorerManager().setRootContext(node); |
From: Greg H. <gh...@us...> - 2004-04-07 03:08:29
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15547/src/org/mc4j/console/dashboard Modified Files: DashboardComponent.java Log Message: Now all dashboard components are refreshable. Index: DashboardComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/DashboardComponent.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DashboardComponent.java 7 Feb 2004 16:10:41 -0000 1.4 --- DashboardComponent.java 7 Apr 2004 02:55:30 -0000 1.5 *************** *** 22,25 **** --- 22,27 ---- import java.util.Map; + import org.mc4j.console.Refreshable; + /** * *************** *** 27,35 **** * @version $Revision$($Author$ / $Date$) */ ! public interface DashboardComponent { void setContext(Map context); - void refresh(); - } --- 29,35 ---- * @version $Revision$($Author$ / $Date$) */ ! public interface DashboardComponent extends Refreshable{ void setContext(Map context); } |
From: Greg H. <gh...@us...> - 2004-04-07 03:07:33
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15399/src/org/mc4j/console/dashboard Modified Files: Dashboard.java Log Message: Support for the new matching system. Index: Dashboard.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/Dashboard.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Dashboard.java 2 Apr 2004 03:34:05 -0000 1.12 --- Dashboard.java 7 Apr 2004 02:54:38 -0000 1.13 *************** *** 20,33 **** package org.mc4j.console.dashboard; ! import javax.management.ObjectName; ! import org.openide.ErrorManager; ! import org.openide.windows.IOProvider; - import org.apache.regexp.RE; - import org.apache.regexp.RESyntaxException; - import org.apache.regexp.REUtil; import org.w3c.dom.Document; - import org.w3c.dom.Element; /** --- 20,31 ---- package org.mc4j.console.dashboard; ! import java.util.HashMap; ! import java.util.Map; ! import org.mc4j.console.bean.MBeanNode; ! import org.mc4j.console.dashboard.match.DashboardMatch; ! import org.mc4j.console.dashboard.match.MatchExecutor; import org.w3c.dom.Document; /** *************** *** 35,39 **** * not the dashboard itself, but the data representing a class of dashboard, * but not a specific instance. Instances of the dashboards themselves are ! * created by the DashBoardFactory. * * @author Greg Hinkle (gh...@us...), September 2002 --- 33,37 ---- * not the dashboard itself, but the data representing a class of dashboard, * but not a specific instance. Instances of the dashboards themselves are ! * created by the DashboardFactory. * * @author Greg Hinkle (gh...@us...), September 2002 *************** *** 54,64 **** private String description; ! private boolean isMultiBean; ! ! private String nameFilterString; ! ! private RE nameFilter; ! private boolean isGlobal; --- 52,58 ---- private String description; ! private DashboardMatch dashboardMatch; ! private Map contextStarter = new HashMap(); *************** *** 79,83 **** this.dashboardDocument = dashboardDocument; - init(); } --- 73,76 ---- *************** *** 93,128 **** ! private void init() { ! Element rootElement = this.dashboardDocument.getDocumentElement(); ! ! setNameFilter(rootElement.getAttribute("nameFilter")); ! ! setDescription(rootElement.getElementsByTagName("Description").item(0).getNodeValue()); ! ! setIsMultiBean(Boolean.valueOf(rootElement.getAttribute("isMultiBean")).booleanValue()); ! ! setGlobal(Boolean.valueOf(rootElement.getAttribute("isGlobal")).booleanValue()); ! } ! ! public void setGlobal(boolean isGlobal) { ! this.isGlobal = isGlobal; ! } ! ! public boolean isGlobal() { ! return this.isGlobal; } ! public void setNameFilter(String regexFilter) { ! this.nameFilterString = regexFilter; ! ! try { ! this.nameFilter = new RE(regexFilter); ! REUtil.createRE(regexFilter); ! } catch (RESyntaxException rese) { ! ErrorManager.getDefault().notify(rese); ! IOProvider.getDefault().getStdOut().println( ! "Invalid dashboard matching regular expression [" + regexFilter + ! "] in dashboard: " + getName()); ! } } --- 86,95 ---- ! public void putContext(String name, Object value) { ! this.contextStarter.put(name, value); } ! public Map getContextStarter() { ! return contextStarter; } *************** *** 159,178 **** } - /** Getter for property isMultiBean. - * @return Value of property isMultiBean. - * - */ - public boolean isIsMultiBean() { - return isMultiBean; - } - - /** Setter for property isMultiBean. - * @param isMultiBean New value of property isMultiBean. - * - */ - public void setIsMultiBean(boolean isMultiBean) { - this.isMultiBean = isMultiBean; - } - /** Getter for property dashboardDocument. * @return Value of property dashboardDocument. --- 126,129 ---- *************** *** 191,204 **** } - public boolean matches(ObjectName name) { - String cName = name.getCanonicalName(); - //IOProvider.getDefault().getIO("Dashboard debugging",false).getOut().println( - // "Comparing [" + this.nameFilterString + "] - [" + cName + "]"); ! if (this.nameFilter != null) { ! return this.nameFilter.match(cName); ! } else { ! return true; ! } } --- 142,156 ---- } ! public DashboardMatch getDashboardMatch() { ! return dashboardMatch; ! } ! ! public void setDashboardMatch(DashboardMatch dashboardMatch) { ! this.dashboardMatch = dashboardMatch; ! } ! ! public boolean matches(MBeanNode mBeanNode) { ! return MatchExecutor.getInstance().matchSingle(this, mBeanNode); } |
From: Greg H. <gh...@us...> - 2004-04-07 03:06:05
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/bean In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15080/src/org/mc4j/console/bean Removed Files: DashboardManager.java Log Message: Dashboard manager moved into the dashboard package where it belongs. --- DashboardManager.java DELETED --- |
From: Greg H. <gh...@us...> - 2004-04-07 03:06:04
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15080/src/org/mc4j/console/dashboard Added Files: DashboardManager.java Log Message: Dashboard manager moved into the dashboard package where it belongs. --- NEW FILE: DashboardManager.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard; import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.TreeSet; import org.openide.awt.StatusDisplayer; import org.openide.modules.InstalledFileLocator; import org.openide.windows.IOProvider; import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.util.ExceptionUtility; /** * This static-singleton manages the set of dashboards for found by the MC4J * application. It provides lists of dashboard matches and launches new dashboards. * * @author Greg Hinkle (gh...@us...), November 2002 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:53:04 $) */ public class DashboardManager { private Set dashboardDocuments = new TreeSet(); private static DashboardManager INSTANCE = new DashboardManager(); private DashboardManager() { initialize(); } public static DashboardManager getInstance() { return DashboardManager.INSTANCE; } public Set getDashboards() { return dashboardDocuments; } /** * Retrieves the set of dashboards appropriate for a particular bean * @param mBeanNode * @return */ public Set getDashboards(MBeanNode mBeanNode) { Set results = new TreeSet(); Iterator dashboardIterator = this.dashboardDocuments.iterator(); while (dashboardIterator.hasNext()) { Dashboard dashboard = (Dashboard) dashboardIterator.next(); if (dashboard.matches(mBeanNode)) { results.add(dashboard); } } return results; } public final void initialize() { //File dashboardDir = new File("./dashboards"); String oldStatus = StatusDisplayer.getDefault().getStatusText(); StatusDisplayer.getDefault().setStatusText("Loading dashboards..."); IOProvider.getDefault().getIO("Dashboard debugging",false).getOut(). println("Parsing all dashboards"); this.dashboardDocuments = new HashSet(); File[] dashboardFiles = getDashboardFiles(); for (int i = 0; i < dashboardFiles.length; i++) { try { IOProvider.getDefault().getIO("Dashboard debugging",false).getOut(). println("Parsing dashboard: " + dashboardFiles[i].getName()); Dashboard dashboard = DashboardLoader.getInstance().buildDashboard(dashboardFiles[i]); this.dashboardDocuments.add(dashboard); } catch (Exception e) { System.out.println(ExceptionUtility.printStackTracesToString(e)); } } StatusDisplayer.getDefault().setStatusText(oldStatus); } private File[] getDashboardFiles() { List fileList = new ArrayList(); File dashboardDir = InstalledFileLocator.getDefault().locate("dashboards","org.mc4j.console",false); if (dashboardDir.exists() && dashboardDir.isDirectory()) { addDashboardFiles(dashboardDir, fileList); } return (File[]) fileList.toArray(new File[fileList.size()]); } private void addDashboardFiles(File directory, List fileList) { File[] directories = directory.listFiles( new FileFilter() { public boolean accept(File theFile) { return theFile.isDirectory(); } }); for (int i = 0; i < directories.length; i++) { File childDirectory = directories[i]; addDashboardFiles(childDirectory, fileList); } File[] dashboardFiles = directory.listFiles( new FilenameFilter() { public boolean accept(File dir, String name) { return (name.endsWith(".xml")); } }); for (int i = 0; i < dashboardFiles.length; i++) { File dashboardFile = dashboardFiles[i]; fileList.add(dashboardFile); } } } |
From: Greg H. <gh...@us...> - 2004-04-07 03:05:29
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/match In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14931/src/org/mc4j/console/dashboard/match Added Files: AbstractBeanCondition.java BeanCondition.java BeanMatch.java BeanObjectNameCondition.java DashboardMatch.java MatchExecutor.java ServerAttributeCondition.java Log Message: This is an implementation of the new multiple matching system. It supports multiple bean/list matches per dashboard and multiple conditions per match. --- NEW FILE: BeanMatch.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import java.util.List; import java.util.ArrayList; /** * @author Greg Hinkle (gh...@us...), Apr 4, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public class BeanMatch { public static final String TYPE_SINGLE = "Single"; public static final String TYPE_MULTIPLE = "Multiple"; private String id; private String type; private List conditionList = new ArrayList(); public String getId() { return id; } /** * @param id the name within the global dashboard context at which the * matching bean can be found. */ public void setId(String id) { this.id = id; } public String getType() { return type; } public void setType(String type) { this.type = type; } public List getConditionList() { return conditionList; } public void setConditionList(List conditionList) { this.conditionList = conditionList; } public void addCondition(BeanCondition beanCondition) { this.conditionList.add(beanCondition); } } --- NEW FILE: BeanCondition.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import org.mc4j.console.bean.MBeanNode; import org.w3c.dom.Element; /** * @author Greg Hinkle (gh...@us...), Apr 4, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public interface BeanCondition { public void initializeCondition(Element rootElement); public boolean testCondition(MBeanNode node); } --- NEW FILE: AbstractBeanCondition.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import java.util.Set; import java.util.Iterator; import java.util.HashMap; import java.util.Map; import java.beans.Introspector; import java.beans.IntrospectionException; import java.beans.BeanInfo; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; import org.openide.ErrorManager; import org.w3c.dom.Element; /** * @author Greg Hinkle (gh...@us...), Apr 5, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public abstract class AbstractBeanCondition implements BeanCondition { public void initializeCondition(Element rootElement) { String[] conditionAttributes = getConditionAttributes(); try { BeanInfo conditionBeanInfo = Introspector.getBeanInfo(this.getClass()); PropertyDescriptor[] descriptors = conditionBeanInfo.getPropertyDescriptors(); Map propertyMap = new HashMap(); for (int i = 0; i < descriptors.length; i++) { PropertyDescriptor descriptor = descriptors[i]; propertyMap.put(descriptor.getName(),descriptor); } for (int i = 0; i < conditionAttributes.length; i++) { String attribute = conditionAttributes[i]; PropertyDescriptor property = (PropertyDescriptor) propertyMap.get(attribute); if (property != null) { String attributeValue = rootElement.getAttribute(attribute); if (attributeValue != null) { Method writeMethod = property.getWriteMethod(); writeMethod.invoke(this, new Object[] { attributeValue }); } } } } catch(IntrospectionException ie) { ErrorManager.getDefault().notify(ie); } catch(IllegalAccessException iae) { ErrorManager.getDefault().notify(iae); } catch(IllegalArgumentException iae) { ErrorManager.getDefault().notify(iae); } catch(InvocationTargetException ite) { ErrorManager.getDefault().notify(ite); } } /** * * @return the set of attribute names that are a part of this condition and * should be read from the xml into the implementing condition object. */ public abstract String[] getConditionAttributes(); } --- NEW FILE: DashboardMatch.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import java.util.List; import java.util.ArrayList; /** * @author Greg Hinkle (gh...@us...), Apr 4, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public class DashboardMatch { private String type; private String location; public static final String TYPE_GLOBAL = "Global"; public static final String TYPE_BEAN = "Bean"; private List beanMatchList = new ArrayList(); public String getType() { return type; } public void setType(String type) { if (TYPE_GLOBAL.equals(type) || TYPE_BEAN.equals(type)) { this.type = type; } else { throw new IllegalArgumentException( "DashboardMatch [type] attribute must be one of {Global, Bean}."); } } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public List getBeanMatchList() { return beanMatchList; } public void setBeanMatchList(List beanMatchList) { this.beanMatchList = beanMatchList; } public void addBeanMatch(BeanMatch beanMatch) { this.beanMatchList.add(beanMatch); } } --- NEW FILE: ServerAttributeCondition.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import org.mc4j.console.bean.MBeanNode; import org.w3c.dom.Element; /** * @author Greg Hinkle (gh...@us...), Apr 5, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public class ServerAttributeCondition extends AbstractBeanCondition { private String serverType; public String[] getConditionAttributes() { return new String[] { "serverType" }; } public String getServerType() { return serverType; } public void setServerType(String serverType) { this.serverType = serverType; } public boolean testCondition(MBeanNode node) { return serverType.equals(node.getConnectionNode().GetConnectionType()); } } --- NEW FILE: MatchExecutor.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import java.util.List; import java.util.Iterator; import java.util.ArrayList; import org.mc4j.console.dashboard.Dashboard; import org.mc4j.console.bean.MBeanNode; import org.mc4j.console.connection.ConnectionNode; /** * @author Greg Hinkle (gh...@us...), Apr 5, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public class MatchExecutor { private static MatchExecutor instance; public static MatchExecutor getInstance() { if (instance == null) { instance = new MatchExecutor(); } return instance; } private MatchExecutor() { } public boolean matchSingle(Dashboard dashboard, MBeanNode mBeanNode) { DashboardMatch dashboardMatch = dashboard.getDashboardMatch(); if (DashboardMatch.TYPE_BEAN.equals(dashboardMatch.getType())) { List beanMatchList = dashboardMatch.getBeanMatchList(); // We only allow one bean match for "Bean" type dashboard matches BeanMatch beanMatch = (BeanMatch) beanMatchList.get(0); List conditionList = beanMatch.getConditionList(); if (beanConditionListMatch(conditionList, mBeanNode)) { dashboard.putContext(beanMatch.getId(), mBeanNode); return true; } } return false; } /** * * @param dashboard * @param connectionNode * @return null if no matches are found, otherwise a list of dashboards with the * associated bindings. */ public List matchGlobalDashboards(Dashboard dashboard, ConnectionNode connectionNode) { List matches = new ArrayList(); DashboardMatch dashboardMatch = dashboard.getDashboardMatch(); List mbeanNodes = connectionNode.getMBeanList(); boolean allBeansMatched = true; if (DashboardMatch.TYPE_GLOBAL.equals(dashboardMatch.getType())) { List beanMatchList = dashboardMatch.getBeanMatchList(); for (Iterator iterator = beanMatchList.iterator(); iterator.hasNext();) { BeanMatch beanMatch = (BeanMatch) iterator.next(); List conditionList = beanMatch.getConditionList(); boolean beanMatched = false; if (BeanMatch.TYPE_MULTIPLE.equals(beanMatch.getType())) { List matchedBeanList = new ArrayList(); for (Iterator iterator1 = mbeanNodes.iterator(); iterator1.hasNext();) { MBeanNode mBeanNode = (MBeanNode) iterator1.next(); if (beanConditionListMatch(conditionList, mBeanNode)) { matchedBeanList.add(mBeanNode); beanMatched = true; } } dashboard.putContext(beanMatch.getId(), matchedBeanList); } else if (BeanMatch.TYPE_SINGLE.equals(beanMatch.getType())) { for (Iterator iterator1 = mbeanNodes.iterator(); iterator1.hasNext();) { MBeanNode mBeanNode = (MBeanNode) iterator1.next(); if (beanConditionListMatch(conditionList, mBeanNode)) { dashboard.putContext(beanMatch.getId(), mBeanNode); beanMatched = true; } } } if (!beanMatched) return null; } matches.add(dashboard); } if (matches.isEmpty()) { return null; } else { return matches; } } /** * Test all conditions. * @param conditionList * @param mBeanNode * @return */ protected boolean beanConditionListMatch(List conditionList, MBeanNode mBeanNode) { boolean match = true; for (Iterator iterator = conditionList.iterator(); iterator.hasNext();) { BeanCondition beanCondition = (BeanCondition) iterator.next(); if (!beanCondition.testCondition(mBeanNode)) match = false; } return match; } } --- NEW FILE: BeanObjectNameCondition.java --- /* * Author: Greg Hinkle * * The contents of this file are subject to the Sapient Public License Version 1.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://mc4j.sf.net/License-SPL.html. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, * either express or implied. See the License for the specific language governing rights and limitations * under the License. * * The Original Code is The MC4J Management Console * The Initial Developer of the Original Code is Greg Hinkle (gh...@us...) * Copyright (C) 2004 Greg Hinkle. All Rights Reserved. * * Redistributions of code or binary files using or based on this code must reproduce the * above copyright and disclaimer. For more information see <http://mc4j.sourceforge.net>. */ package org.mc4j.console.dashboard.match; import org.openide.ErrorManager; import org.openide.windows.IOProvider; import org.mc4j.console.bean.MBeanNode; import org.apache.regexp.RE; import org.apache.regexp.RESyntaxException; /** * @author Greg Hinkle (gh...@us...), Apr 5, 2004 * @version $Revision: 1.1 $($Author: ghinkl $ / $Date: 2004/04/07 02:52:33 $) */ public class BeanObjectNameCondition extends AbstractBeanCondition { private String filter; private RE nameFilter; public String[] getConditionAttributes() { return new String[] { "filter" }; } public String getFilter() { return filter; } public void setFilter(String filter) { this.filter = filter; try { this.nameFilter = new RE(filter); //REUtil.createRE(filter); } catch (RESyntaxException rese) { ErrorManager.getDefault().notify(rese); IOProvider.getDefault().getStdOut().println( "Invalid dashboard matching regular expression [" + filter + "] in dashboard."); } } public boolean testCondition(MBeanNode node) { String cName = node.getObjectName().getCanonicalName(); if (this.nameFilter != null) { return this.nameFilter.match(cName); } else { return true; } } } |
From: Greg H. <gh...@us...> - 2004-04-06 20:01:25
|
Update of /cvsroot/mc4j/mc4j/application/dashboards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29282/application/dashboards Modified Files: Dashboard.dtd Log Message: I think this should be the final dashboard spec for a while. Index: Dashboard.dtd =================================================================== RCS file: /cvsroot/mc4j/mc4j/application/dashboards/Dashboard.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Dashboard.dtd 6 Feb 2004 20:13:44 -0000 1.1 --- Dashboard.dtd 6 Apr 2004 19:48:24 -0000 1.2 *************** *** 1,8 **** ! <!ELEMENT DashBoard (#PCDATA | DisplayName | Description | Context | LayoutManager | Content)*> ! <!ATTLIST DashBoard version CDATA #IMPLIED> ! <!ATTLIST DashBoard name CDATA #IMPLIED> ! <!ATTLIST DashBoard nameFilter CDATA #IMPLIED> ! <!ATTLIST DashBoard isGlobal CDATA #IMPLIED> ! <!ATTLIST DashBoard isMultiBean CDATA #IMPLIED> --- 1,19 ---- ! <!ELEMENT Dashboard (#PCDATA | DashboardMatch | DisplayName | Description | Context | LayoutManager | Content)*> ! <!ATTLIST Dashboard version CDATA #REQUIRED> ! <!ATTLIST Dashboard name CDATA #REQUIRED> ! ! <!ELEMENT DashboardMatch (#PCDATA | BeanMatch)*> ! <!ATTLIST DashboardMatch type CDATA #REQUIRED> ! <!ATTLIST DashboardMatch location CDATA #IMPLIED> ! ! <!ELEMENT BeanMatch (#PCDATA | CONDITION)*> ! <!ATTLIST BeanMatch id CDATA #REQUIRED> ! <!ATTLIST BeanMatch type CDATA #REQUIRED> ! ! <!ELEMENT Condition (#PCDATA)*> ! <!ATTLIST Condition type CDATA #REQUIRED> ! <!ATTLIST Condition filter CDATA #IMPLIED> ! <!ATTLIST Condition attributeName CDATA #IMPLIED> ! <!ATTLIST Condition value CDATA #IMPLIED> |