FELIX-134
Removing the tab from repository
git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@439333 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/mosgi.doc/config.properties.core b/mosgi.doc/config.properties.core
index 4a769ea..d7d4859 100644
--- a/mosgi.doc/config.properties.core
+++ b/mosgi.doc/config.properties.core
@@ -33,7 +33,7 @@
insa.jmxconsole.tab.url.osgiprobestab=file:../mosgi.managedelements.osgiprobes.tab/target/org.apache.felix.mosgi.managedelements.osgiprobes.tab-0.8.0-SNAPSHOT.jar
insa.jmxconsole.tab.url.bundlesprobestab=file:../mosgi.managedelements.bundlesprobes.tab/target/org.apache.felix.mosgi.managedelements.bundlesprobes.tab-0.8.0-SNAPSHOT.jar
insa.jmxconsole.tab.url.obrprobetab=file:../mosgi.managedelements.obrprobe.tab/target/org.apache.felix.mosgi.managedelements.obrprobe.tab-0.8.0-SNAPSHOT.jar
-insa.jmxconsole.tab.url.memoryprobetab=file:../mosgi.managedelements.memoryprobe.tab/target/org.apache.felix.mosgi.managedelements.memoryprobe.tab-0.8.0-SNAPSHOT.jar
+insa.jmxconsole.tab.url.memoryprobetab=http://perso.citi.insa-lyon.fr/sfrenot/devel/mosgi/managedelements/trunk/mosgi.managedelements.memoryprobe.tab/target/org.apache.felix.mosgi.managedelements.memoryprobe.tab-0.8.0-SNAPSHOT.jar
#insa.jmxconsole.rmiport.t1=1100
diff --git a/mosgi.managedelements.memoryprobe.tab/pom.xml b/mosgi.managedelements.memoryprobe.tab/pom.xml
deleted file mode 100644
index 120a9d6..0000000
--- a/mosgi.managedelements.memoryprobe.tab/pom.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<project>
- <parent>
- <groupId>org.apache.felix</groupId>
- <artifactId>felix</artifactId>
- <version>0.8.0-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <packaging>osgi-bundle</packaging>
- <name>Apache Felix MOSGi memory activity presentation tab for the JMX console</name>
- <artifactId>org.apache.felix.mosgi.managedelements.memoryprobe.tab</artifactId>
- <dependencies>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>${pom.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>${pom.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>org.apache.felix.mosgi.console.ifc</artifactId>
- <version>${pom.version}</version>
- <scope>provided</scope>
- </dependency>
- <!-- dependency>
- <groupId>jfree</groupId>
- <artifactId>jcommon</artifactId>
- <version>1.0.4</version>
- <scope>provided</scope>
- </dependency -->
- <dependency>
- <groupId>jfree</groupId>
- <artifactId>jfreechart</artifactId>
- <version>1.0.1</version>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix.plugins</groupId>
- <artifactId>maven-osgi-plugin</artifactId>
- <version>${pom.version}</version>
- <extensions>true</extensions>
- <configuration>
- <osgiManifest>
- <bundleName>MOSGi memory activity tab for the JMX console</bundleName>
- <bundleDescription>MOSGi memory activity tab for the JMX console</bundleDescription>
- <bundleActivator>auto-detect</bundleActivator>
- <bundleDocUrl>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/</bundleDocUrl>
- <bundleUrl>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/${pom.artifactId}-${pom.version}.jar</bundleUrl>
- <bundleSource>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/${pom.artifactId}-${pom.version}-src.jar</bundleSource>
- <bundleSymbolicName>${pom.artifactId}</bundleSymbolicName>
- <exportPackage>
- ${pom.artifactId}
- <!--
- org.jfree.data.xy,
- org.jfree.ui,
- org.jfree.chart,
- org.jfree.chart.resources,
- org.jfree.chart.plot -->
- </exportPackage>
- <importPackage>
- javax.management,
- javax.management.openmbean,
- javax.swing.border,
- javax.swing.event,
- javax.swing.filechooser,
- org.osgi.framework,
- javax.swing,
- javax.swing.table,
- <!--
- org.jfree.data.xy,
- org.jfree.chart.plot,
- org.jfree.chart.resources,
- org.jfree.chart,
- org.jfree.ui, -->
- javax.swing.plaf,
- org.apache.felix.mosgi.console.ifc,
- org.xml.sax,
- javax.imageio,
- org.xml.sax.helpers,
- javax.xml.parsers,
- javax.accessibility
- </importPackage>
- </osgiManifest>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/AbstractGraphPanel.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/AbstractGraphPanel.java
deleted file mode 100755
index 60dd165..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/AbstractGraphPanel.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import org.jfree.chart.ChartPanel;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.DateAxis;
-import org.jfree.chart.axis.LogarithmicAxis;
-import org.jfree.chart.axis.NumberAxis;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.DefaultXYItemRenderer;
-import org.jfree.chart.title.TextTitle;
-import org.jfree.data.time.Millisecond;
-import org.jfree.data.time.TimeSeries;
-import org.jfree.data.time.TimeSeriesCollection;
-
-//import org.openide.windows.TopComponent;
-
-//import org.mc4j.console.dashboard.components.RefreshControlComponent;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-
-import javax.swing.BorderFactory;
-import javax.swing.BoxLayout;
-import javax.swing.ButtonGroup;
-import javax.swing.Icon;
-import javax.swing.ImageIcon;
-import javax.swing.JCheckBox;
-import javax.swing.JComponent;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JPopupMenu;
-import javax.swing.JRadioButton;
-import javax.swing.SwingUtilities;
-import javax.swing.border.LineBorder;
-
-public abstract class AbstractGraphPanel extends JComponent {
-
-
- protected TimeSeriesCollection dataset = new TimeSeriesCollection();
-
-
- protected JFreeChart chart;
- protected Timer dataGeneratorTimer;
- protected TimerTask dataGeneratorTimerTask;
-
- protected Map timeSeriesMap = new HashMap();
- protected XYPlot xyplot;
-
-
- private JCheckBox controlsButton;
- private JPanel controlsPanel;
-
- private ButtonGroup buttonGroupScale;
- private ButtonGroup buttonGroupTimeRange;
- private JRadioButton jRadioButtonScaleLinear;
- private JRadioButton jRadioButtonScaleLogarithmic;
- private JRadioButton jRadioTimeHours;
- private JRadioButton jRadioTimeMinutes;
- private JRadioButton jRadioTimeSeconds;
- protected LogarithmicTimeJSlider sleepSlider;
- protected JLabel sleepDelay;
-
-
- private boolean removed = false;
-
- protected int failures = 0;
- protected static final int MAX_FAILURES = 10;
-
-
- public AbstractGraphPanel() {
- setDoubleBuffered(false);
- initGraphPanel();
- }
-
- public void setChartTitle(final String name) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- setName(name);
- }
- });
-
- chart.setTitle(
- new TextTitle(name,
- new Font("SansSerif",Font.BOLD, 12)));
-
- }
-
- protected void initGraphPanel() {
-
- setPreferredSize(new Dimension(500,450));
-
- 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());
-
- this.chart =
- new JFreeChart(
- "",
- JFreeChart.DEFAULT_TITLE_FONT,
- xyplot,
- true);
-
- chart.setTitle(
- new TextTitle("Graph ???",
- new Font("SansSerif",Font.BOLD, 12)));
-
- ChartPanel chartPanel = new ChartPanel(chart,false,true,true,false,false);
- chartPanel.setOpaque(true);
- chartPanel.setDoubleBuffered(false);
- chart.setBackgroundPaint(this.getBackground());
- chartPanel.setBackground(this.getBackground());
- chartPanel.setBorder(new LineBorder(Color.BLACK,1));
-
- setLayout(new BorderLayout());
- setOpaque(false);
- add(chartPanel,BorderLayout.CENTER);
-
- buildGraphControls();
-
- this.controlsButton = new ControlsPopupButton();
- JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
- northPanel.add(this.controlsButton);
- northPanel.setOpaque(false);
- add(northPanel,BorderLayout.NORTH);
- this.controlsPanel.setLocation(5,5);
-
- doLayout();
- repaint();
- }
-
-
- public class ControlsPopupButton extends JCheckBox {
-
- private JPopupMenu popup;
- private Icon descendingIcon = new ImageIcon(java.awt.Toolkit.getDefaultToolkit().getImage(MemoryProbeTabUI.bc.getBundle().getResource("images/GraphSettings.gif")));
-
-
- public ControlsPopupButton() {
- setIcon(descendingIcon);
- setOpaque(false);
- init();
- }
-
- public void showPopup() {
- if (popup == null) {
- popup = new JPopupMenu();
- popup.add(controlsPanel);
- }
- popup.show(controlsButton, 0, controlsButton.getHeight());
- }
-
- private void init() {
- addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- showPopup();
- }
- });
- }
- }
-
-
-
- public long getUpdateDelay() {
- if (sleepSlider != null)
- return sleepSlider.getValue();
- else
- return 1000L;
- }
-
- /**
- * Cancels any existing scheduled task and reschedules for the
- * current status of the delay control.
- */
- public void reschedule() {
- if (this.dataGeneratorTimer == null) {
- this.dataGeneratorTimer = new Timer();
- }
-
- if (this.dataGeneratorTimerTask != null) {
- try {
- this.dataGeneratorTimerTask.cancel();
- } catch(Exception e) { e.printStackTrace();}
- }
-
- this.dataGeneratorTimer.schedule(
- this.dataGeneratorTimerTask = getDataGeneratorTask(),
- getUpdateDelay(),
- getUpdateDelay());
-
- }
-
- /**
- * Stops taking measurements for the graph.
- */
- public void pauseSchedule() {
- if (this.dataGeneratorTimer !=null){
- this.dataGeneratorTimerTask.cancel();
- }
- this.dataGeneratorTimerTask = null;
- }
-
-
- protected TimerTask getDataGeneratorTask() {
- return new DataGenerator();
- }
-
-
- public void addNotify() {
- super.addNotify();
- if (removed) {
- reschedule();
- this.removed = false;
- }
- }
-
-
- public void removeNotify() {
- super.removeNotify();
- if (this.dataGeneratorTimer != null)
- this.dataGeneratorTimer.cancel();
- this.dataGeneratorTimer = null;
- this.removed = true;
- }
-
-
-
- /**
- * Define this graph as logarithmic or not
- * @param logarithmic if true, graph will be logarithmic,
- * otherwise it will be linear
- */
- public void setLogarithmic(boolean logarithmic) {
- if (logarithmic) {
- try {
- this.xyplot.setRangeAxis(new LogarithmicAxis(""));
- } catch(Exception e) {
- // In case we try to use a logarithmic axis when the values go below 1
- this.xyplot.setRangeAxis(new NumberAxis(""));
- }
- } else {
- this.xyplot.setRangeAxis(new NumberAxis(""));
- }
- }
-
- public void setBackground(Color bg) {
- super.setBackground(bg);
- //this.sleepSlider.setBackground(bg);
- }
-
- public void updateRange() {
- DateAxis dateAxis = (DateAxis) this.xyplot.getDomainAxis();
-
- Calendar start = new GregorianCalendar();
-
- start.setTime(new Date());
-
- if (this.jRadioTimeSeconds.isSelected()) {
- start.add(Calendar.SECOND, -60);
- } else if (this.jRadioTimeMinutes.isSelected()) {
- //this.sleepSlider.setEnabled(false);
- start.add(Calendar.MINUTE, -60);
- } else if (this.jRadioTimeHours.isSelected()) {
- start.add(Calendar.HOUR, -48);
- }
-
- // this is a hack to slow down the data gathering for the longer periods...
- // TODO GH: Build a TimeSeries that modulates the time periods automatically
- // i.e.
- // | Seconds | Minutes | Hours |
- // ***************** * * * * * * * * * * * * *
- if (this.jRadioTimeMinutes.isSelected()) {
- sleepSlider.setValue(10000);
- } else if (this.jRadioTimeHours.isSelected()) {
- sleepSlider.setValue(100000);
- }
-
-
- dateAxis.setRange(start.getTime(),new Date());
- }
-
-
- protected JPanel buildGraphControls() {
-
- this.controlsPanel = new JPanel();
- //this.controlsPanel.setBorder(BorderFactory.createLineBorder(Color.black));
- this.controlsPanel.setLayout(new BoxLayout(this.controlsPanel,BoxLayout.X_AXIS));
-
- // Seconds, Minutes, Hours
- JPanel timeDurationPanel = new JPanel();
- timeDurationPanel.setLayout(new BoxLayout(timeDurationPanel, BoxLayout.Y_AXIS));
- timeDurationPanel.setBorder(BorderFactory.createTitledBorder("Time Range"));
-
- buttonGroupTimeRange = new javax.swing.ButtonGroup();
-
- jRadioTimeSeconds = new javax.swing.JRadioButton("seconds", true);
- jRadioTimeSeconds.setToolTipText("Track the graph for 60 seconds");
- jRadioTimeSeconds.setOpaque(false);
-
- jRadioTimeMinutes = new javax.swing.JRadioButton("minutes", false);
- jRadioTimeMinutes.setToolTipText("Track this graph for 60 minutes.");
- jRadioTimeMinutes.setOpaque(false);
-
- jRadioTimeHours = new javax.swing.JRadioButton("hours", false);
- jRadioTimeHours.setToolTipText("Track this graph for 48 hours.");
- jRadioTimeHours.setOpaque(false);
-
- buttonGroupTimeRange.add(jRadioTimeSeconds);
- buttonGroupTimeRange.add(jRadioTimeMinutes);
- buttonGroupTimeRange.add(jRadioTimeHours);
-
- timeDurationPanel.add(jRadioTimeSeconds);
- timeDurationPanel.add(jRadioTimeMinutes);
- timeDurationPanel.add(jRadioTimeHours);
-
- // Scale (linear vs. logarithmic)
- JPanel timeScalePanel = new JPanel();
- timeScalePanel.setLayout(new BoxLayout(timeScalePanel, BoxLayout.Y_AXIS));
- timeScalePanel.setBorder(BorderFactory.createTitledBorder("Time Scale"));
-
- buttonGroupScale = new javax.swing.ButtonGroup();
-
- jRadioButtonScaleLinear = new javax.swing.JRadioButton("Linear", true);
- jRadioButtonScaleLinear.setOpaque(false);
-
- jRadioButtonScaleLogarithmic = new javax.swing.JRadioButton("Logarithmic", false);
- jRadioButtonScaleLogarithmic.setOpaque(false);
-
- buttonGroupScale.add(jRadioButtonScaleLinear);
- buttonGroupScale.add(jRadioButtonScaleLogarithmic);
-
- timeScalePanel.add(jRadioButtonScaleLinear);
- timeScalePanel.add(jRadioButtonScaleLogarithmic);
-
- // Update speed (in milleseconds)
- JPanel updateSpeedPanel = new JPanel();
- updateSpeedPanel.setLayout(new BoxLayout(updateSpeedPanel, BoxLayout.Y_AXIS));
- updateSpeedPanel.setBorder(BorderFactory.createTitledBorder("Update Speed"));
-
- //sleepSlider = new javax.swing.JSlider(100,10000,1000);
- //sleepSlider.setPaintLabels(true);
- //sleepSlider.setPaintTicks(true);
- //sleepSlider.setMinorTickSpacing(500);
- //sleepSlider.setMajorTickSpacing(2000);
-
- sleepSlider = new LogarithmicTimeJSlider(100, 100000, 1000);
-
- sleepSlider.setPaintTicks(true);
- sleepSlider.setPaintLabels(true);
- sleepSlider.setMajorTickSpacing(10);
- sleepSlider.setMinorTickSpacing(10);
-
- sleepSlider.setToolTipText("Time between updates");
- sleepSlider.setOpaque(false);
-
- sleepDelay = new JLabel("Delay: " + sleepSlider.getTime());
-
- sleepSlider.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- sleepSliderPropertyChange(null);
- sleepDelay.setText("Delay: " + sleepSlider.getTime());
- }
- });
-
-
- updateSpeedPanel.add(sleepSlider);
- updateSpeedPanel.add(sleepDelay);
-
- jRadioButtonScaleLinear.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- scaleChanged(evt);
- }
- });
-
- jRadioButtonScaleLogarithmic.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- scaleChanged(evt);
- }
- });
-
-
- this.controlsPanel.add(timeDurationPanel);
- this.controlsPanel.add(updateSpeedPanel);
- this.controlsPanel.add(timeScalePanel);
-
- return this.controlsPanel;
- }
-
-
- private void scaleChanged(javax.swing.event.ChangeEvent evt) {
- setLogarithmic(jRadioButtonScaleLogarithmic.isSelected());
- }
-
-
- private void sleepSliderPropertyChange(java.beans.PropertyChangeEvent evt) {
- if (!sleepSlider.getValueIsAdjusting()) {
- reschedule();
- }
- }
-
-
- /**
- * Should be overridden by non-abstract subclasses to provide an observation
- * of all time series datasets.
- */
- public abstract void addObservation() throws Exception;
-
- private void addObservationHandler() {
- try {
- addObservation();
- if (failures > 0)
- failures--;
- } catch (Exception e) {
- failures++;
-// org.openide.windows.IOProvider.getDefault().getStdOut().println(e);
- }
- if (failures > MAX_FAILURES) {
- pauseSchedule();
- }
-
- updateRange();
-
- }
-
- protected void createTimeSeries(String name, Object key) {
- TimeSeries ts =
- new TimeSeries(
- name,
- Millisecond.class);
- //ts.setHistoryCount(1728000); // 48 hours at 100 seconds
- ts.setMaximumItemCount(1728000); // 48 hours at 100 seconds
- this.timeSeriesMap.put(key, ts);
- dataset.addSeries(ts);
- }
-
- protected TimeSeries getTimeSeries(Object key) {
- return (TimeSeries) this.timeSeriesMap.get(key);
- }
-
- /**
- * The data generator.
- */
- protected class DataGenerator extends TimerTask {
-
- public void run() {
- addObservationHandler();
- }
- }
-
-
-
- private static class TestGraph extends AbstractGraphPanel {
- public static final String TEST = "test";
- private int x = 1;
- public TestGraph() {
- createTimeSeries(TEST, TEST);
- reschedule();
- }
- public void addObservation() throws Exception {
- getTimeSeries(TEST).
- add(new Millisecond(), new Integer(x++));
- }
- }
-
- public static void main(String[] args) {
- TestGraph graph = new TestGraph();
-
- JFrame frame = new JFrame();
- JPanel panel = new JPanel();
- panel.setLayout(new BorderLayout());
- frame.getContentPane().add(panel);
- panel.add(graph, BorderLayout.CENTER);
-
- frame.pack();
- frame.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- frame.setVisible(true);
- }
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/AttributeGraphPanel.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/AttributeGraphPanel.java
deleted file mode 100755
index 97cf622..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/AttributeGraphPanel.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-//import org.mc4j.console.swing.graph.AbstractGraphPanel;
-
-import org.jfree.data.time.Millisecond;
-import org.jfree.data.time.TimeSeries;
-
-public class AttributeGraphPanel extends AbstractGraphPanel {
-
- protected ObjectName objectName;
- protected MBeanServer server;
-
-
- public AttributeGraphPanel() {
-
- }
-
- protected String createName() {
- StringBuffer buf = new StringBuffer();
- buf.append(this.objectName.getDomain());
- Hashtable props = this.objectName.getKeyPropertyList();
- buf.append(" {");
- for (Iterator iterator = props.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- buf.append(" ");
- buf.append(entry.getKey());
- buf.append("=");
- buf.append(entry.getValue());
- }
- buf.append("}");
- return buf.toString();
- }
-
-
- public void addObservation() throws Exception {
- System.out.println("AttributeGraphPanel.addObservation: I should not be there");
- }
-
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/LogarithmicJSlider.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/LogarithmicJSlider.java
deleted file mode 100755
index 650ebca..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/LogarithmicJSlider.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import javax.swing.BoundedRangeModel;
-import javax.swing.BoxLayout;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JSlider;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-import javax.swing.plaf.SliderUI;
-import javax.swing.plaf.UIResource;
-import javax.swing.plaf.basic.BasicSliderUI;
-
-public class LogarithmicJSlider extends JSlider {
-
- public LogarithmicJSlider(int min, int max, int value) {
- super(min, max, value);
- SliderUI ui = new LogSliderUI(this);
- this.setUI(ui);
- }
-
- public static class LogSliderUI extends BasicSliderUI {
-
- public LogSliderUI(JSlider b) {
- super(b);
- }
-
-
- public int xPositionForValue(int value) {
- int min = slider.getMinimum();
- int max = slider.getMaximum();
- int trackLength = trackRect.width;
- double valueRange = (double) Math.log(max) - (double) Math.log(min);
- double pixelsPerValue = (double) trackLength / valueRange;
- int trackLeft = trackRect.x;
- int trackRight = trackRect.x + (trackRect.width - 1);
- int xPosition;
-
- if (!drawInverted()) {
- xPosition = trackLeft;
- xPosition += Math.round(pixelsPerValue * ((double) Math.log(value) - Math.log(min)));
- } else {
- xPosition = trackRight;
- xPosition -= Math.round(pixelsPerValue * ((double) Math.log(value) - Math.log(min)));
- }
-
- xPosition = Math.max(trackLeft, xPosition);
- xPosition = Math.min(trackRight, xPosition);
-
- return xPosition;
-
-
- }
-
- public int yPositionForValue(int value) {
- // TODO GH: Implement to support vertical log sliders
- return super.yPositionForValue(value);
- }
-
- public int valueForYPosition(int yPos) {
- // TODO GH: Implement to support vertical log sliders
- return super.valueForYPosition(yPos);
- }
-
- public int valueForXPosition(int xPos) {
- int value;
- final int minValue = slider.getMinimum();
- final int maxValue = slider.getMaximum();
- final int trackLength = trackRect.width;
- final int trackLeft = trackRect.x;
- final int trackRight = trackRect.x + (trackRect.width - 1);
-
- if (xPos <= trackLeft) {
- value = drawInverted() ? maxValue : minValue;
- } else if (xPos >= trackRight) {
- value = drawInverted() ? minValue : maxValue;
- } else {
- int distanceFromTrackLeft = xPos - trackLeft;
- double valueRange = (double) Math.log(maxValue) - (double) Math.log(minValue);
- //double valuePerPixel = (double)valueRange / (double)trackLength;
- //int valueFromTrackLeft =
- // (int)Math.round( Math.pow(3.5,(double)distanceFromTrackLeft * (double)valuePerPixel));
-
- int valueFromTrackLeft =
- (int)
- Math.round(Math.pow(Math.E, Math.log(minValue) + ((((double) distanceFromTrackLeft) * valueRange) / (double) trackLength)));
-
- value = drawInverted() ? maxValue - valueFromTrackLeft :
- (int) Math.log(minValue) + valueFromTrackLeft;
- }
-
- return value;
-
- }
-
- public void paintTicks(Graphics g) {
- Rectangle tickBounds = tickRect;
- int i;
- int maj, min, max;
- int w = tickBounds.width;
- int h = tickBounds.height;
- int centerEffect, tickHeight;
-
- g.setColor(Color.black);
-
- maj = slider.getMajorTickSpacing();
- min = slider.getMinorTickSpacing();
-
- if (slider.getOrientation() == JSlider.HORIZONTAL) {
- g.translate(0, tickBounds.y);
-
- int value = slider.getMinimum();
- int xPos = 0;
-
- if (slider.getMinorTickSpacing() > 0) {
- int majorValue = slider.getMinimum();
-
- while (value <= slider.getMaximum()) {
- if (value >= majorValue) {
- value = majorValue;
- majorValue *= maj;
- }
- value += (majorValue / 10.0);
-
- xPos = xPositionForValue(value);
- paintMinorTickForHorizSlider(g, tickBounds, xPos);
-
- }
- }
-
- if (slider.getMajorTickSpacing() > 0) {
- value = slider.getMinimum();
-
- while (value <= slider.getMaximum()) {
- xPos = xPositionForValue(value);
- paintMajorTickForHorizSlider(g, tickBounds, xPos);
- value *= slider.getMajorTickSpacing();
- }
- }
-
- g.translate(0, -tickBounds.y);
- } else {
-
- g.translate(tickBounds.x, 0);
-
- int value = slider.getMinimum();
- int yPos = 0;
-
- if (slider.getMinorTickSpacing() > 0) {
- int majorValue = slider.getMinimum();
- int offset = 0;
- if (!slider.getComponentOrientation().isLeftToRight()) {
- offset = tickBounds.width - tickBounds.width / 2;
- g.translate(offset, 0);
- }
-
- while (value <= slider.getMaximum()) {
- if (value >= majorValue) {
- value = majorValue;
- majorValue *= maj;
- }
-
- yPos = yPositionForValue(value);
- paintMinorTickForVertSlider(g, tickBounds, yPos);
- value += (majorValue / 10.0);
- }
-
- if (!slider.getComponentOrientation().isLeftToRight()) {
- g.translate(-offset, 0);
- }
- }
-
- if (slider.getMajorTickSpacing() > 0) {
- value = slider.getMinimum();
- if (!slider.getComponentOrientation().isLeftToRight()) {
- g.translate(2, 0);
- }
-
- while (value <= slider.getMaximum()) {
- yPos = yPositionForValue(value);
- paintMajorTickForVertSlider(g, tickBounds, yPos);
- value *= slider.getMajorTickSpacing();
- }
-
- if (!slider.getComponentOrientation().isLeftToRight()) {
- g.translate(-2, 0);
- }
- }
- g.translate(-tickBounds.x, 0);
- }
- }
-
- }
-
- public Hashtable createStandardLabels(int increment, int start) {
- if (start > getMaximum() || start < getMinimum()) {
- throw new IllegalArgumentException("Slider label start point out of range.");
- }
-
- if (increment <= 0) {
- throw new IllegalArgumentException("Label incremement must be > 0");
- }
-
- class LabelHashtable extends Hashtable implements PropertyChangeListener {
- int increment = 0;
- int start = 0;
- boolean startAtMin = false;
-
-
- public LabelHashtable(int increment, int start) {
- super();
- this.increment = increment;
- this.start = start;
- startAtMin = start == getMinimum();
- createLabels(this, increment, start);
- }
-
- public void propertyChange(PropertyChangeEvent e) {
- if (e.getPropertyName().equals("minimum") && startAtMin) {
- start = getMinimum();
- }
-
- if (e.getPropertyName().equals("minimum") ||
- e.getPropertyName().equals("maximum")) {
-
- Enumeration keys = getLabelTable().keys();
- Object key = null;
- Hashtable hashtable = new Hashtable();
-
- // Save the labels that were added by the developer
- while (keys.hasMoreElements()) {
- key = keys.nextElement();
- Object value = getLabelTable().get(key);
- if (!(value instanceof LabelUIResource)) {
- hashtable.put(key, value);
- }
- }
-
- clear();
- createLabels(this, increment, start);
-
- // Add the saved labels
- keys = hashtable.keys();
- while (keys.hasMoreElements()) {
- key = keys.nextElement();
- put(key, hashtable.get(key));
- }
- ((JSlider) e.getSource()).setLabelTable(this);
- }
- }
- }
-
- LabelHashtable table = new LabelHashtable(increment, start);
-
- if (getLabelTable() != null && (getLabelTable() instanceof PropertyChangeListener)) {
- removePropertyChangeListener((PropertyChangeListener) getLabelTable());
- }
-
- addPropertyChangeListener(table);
-
- return table;
- }
-
- /**
- * This method creates the table of labels that are used to label major ticks
- * on the slider.
- * @param table
- * @param increment
- * @param start
- */
- protected void createLabels(Hashtable table, int increment, int start) {
- for (int labelIndex = start; labelIndex <= getMaximum(); labelIndex *= increment) {
-
- table.put(new Integer(labelIndex), new LabelUIResource("" + labelIndex, JLabel.CENTER));
- }
- }
-
- protected static class LabelUIResource extends JLabel implements UIResource {
- public LabelUIResource(String text, int alignment) {
- super(text, alignment);
- setName("Slider.label");
- }
- }
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/LogarithmicTimeJSlider.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/LogarithmicTimeJSlider.java
deleted file mode 100755
index ec000f3..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/LogarithmicTimeJSlider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import java.text.DecimalFormat;
-import java.util.Hashtable;
-
-import javax.swing.*;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-
-public class LogarithmicTimeJSlider extends LogarithmicJSlider {
-
- protected static final DecimalFormat format = new DecimalFormat("#.#");
- public LogarithmicTimeJSlider(int min, int max, int value) {
- super(min, max, value);
- }
-
-
- protected void createLabels(Hashtable table, int increment, int start) {
- for (int labelIndex = start; labelIndex <= getMaximum(); labelIndex *= increment) {
- String label = formatMilleseconds(labelIndex);
- table.put(new Integer(labelIndex), new LabelUIResource(label, JLabel.CENTER));
- }
- }
-
- public String getTime() {
- return formatMilleseconds(getValue());
- }
-
- public String formatMilleseconds(int labelIndex) {
- String label;
- if (labelIndex >= (1000 * 60 * 60 * 24)) {
- label = format.format(labelIndex / (double)(1000 * 60 * 60 * 24)) + " days";
- } else if (labelIndex >= (1000 * 60 * 60)) {
- label = format.format(labelIndex / (double)(1000 * 60 * 60)) + " hours";
- } else if (labelIndex >= (double)(1000 * 60)) {
- label = format.format(labelIndex / (double)(1000 * 60)) + " mins";
- } else if (labelIndex >= 1000) {
- label = format.format(labelIndex / (double)1000) + " secs";
- } else {
- label = labelIndex + " ms";
- }
- return label;
- }
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/MemoryProbeTabUI.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/MemoryProbeTabUI.java
deleted file mode 100644
index 62c9a56..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/MemoryProbeTabUI.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import javax.swing.JPanel;
-import java.awt.BorderLayout;
-import java.awt.Component;
-
-import org.osgi.framework.BundleContext;
-
-import java.beans.PropertyChangeEvent;
-import javax.management.MBeanServerConnection;
-
-import org.apache.felix.mosgi.console.ifc.Plugin;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.framework.BundleActivator;
-
-
-public class MemoryProbeTabUI extends JPanel implements Plugin, BundleActivator {
- MemoryUsageLineChartComponent mulcc;
- JPanel innerP;
-
- static BundleContext bc;
- static MBeanServerConnection mbs;
- ServiceRegistration sreg;
-
- ///////////////////////////////////////////
- // BundleActivator //
- ///////////////////////////////////////////
- public void start(BundleContext context) {
- this.bc = context;
- this.registerServicePlugin();
- }
-
- public void stop(BundleContext context) { }
-
- ///////////////////////////////////////////
- // Plugin //
- //////////////////////////////////////////
- public void registerServicePlugin(){
- sreg = bc.registerService(Plugin.class.getName(), this, null);
- }
-
- public void unregisterServicePlugin(){
- sreg.unregister();
- }
-
- public String pluginLocation(){
- return bc.getBundle().getLocation();
- }
-
- public String getName(){return "JVM Memory";}
-
- public Component getGUI(){return this;}
-
- public void propertyChange(PropertyChangeEvent e){
- /*
- * This a static tab, each new visit will provide the same
- * information. A dynamic tab update is provided in LinuxTab
- *
- */
- if (e.getPropertyName().equals(Plugin.NEW_NODE_READY)){
- this.mbs=(MBeanServerConnection)e.getNewValue();
- innerP=new JPanel(new BorderLayout());
- innerP.add(this.mulcc=new MemoryUsageLineChartComponent(),BorderLayout.CENTER);
- this.add(innerP, BorderLayout.CENTER);
- this.updateUI();
- }else if(e.getPropertyName().equals(Plugin.EMPTY_NODE)){
- if (mulcc!=null){
- this.mulcc.pauseSchedule();
- this.innerP.remove(this.mulcc);
- this.mulcc=null;
- this.remove(innerP);
- }
- this.invalidate();
- this.validate();
- this.updateUI();
- }
- }
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/MemoryUsageLineChartComponent.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/MemoryUsageLineChartComponent.java
deleted file mode 100755
index 824c8ba..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/MemoryUsageLineChartComponent.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import org.jfree.data.general.DefaultPieDataset;
-import org.jfree.data.time.Millisecond;
-import org.jfree.data.time.TimeSeries;
-
-import java.awt.BorderLayout;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.lang.management.ManagementFactory;
-import java.lang.management.MemoryUsage;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.openmbean.CompositeData;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-
-public class MemoryUsageLineChartComponent extends NumericAttributeGraph {
-
- public static final String COMMITTED = "Committed";
- public static final String INIT = "Initial";
- public static final String MAX = "Maximum";
- public static final String USED = "Used";
-
- protected DefaultPieDataset pieDataset;
-
- protected List beanList;
-
-
- ObjectName permGen, tenuredGen, codeCache, edenSpace, survivorSpace = null;
-
-
- public MemoryUsageLineChartComponent() {
-
- this.chart.setTitle("Memory Usage");
-
- try {
- permGen = new ObjectName("java.lang:type=MemoryPool,name=Perm Gen");
- tenuredGen = new ObjectName("java.lang:type=MemoryPool,name=Tenured Gen");
- codeCache = new ObjectName("java.lang:type=MemoryPool,name=Code Cache");
- edenSpace = new ObjectName("java.lang:type=MemoryPool,name=Eden Space");
- survivorSpace = new ObjectName("java.lang:type=MemoryPool,name=Survivor Space");
- } catch(Exception e) {
- e.printStackTrace();
- }
- createTimeSeries("Permanent Generation", permGen);
- createTimeSeries("Tenured Generation", tenuredGen);
- createTimeSeries("Code Cache", codeCache);
- createTimeSeries("Eden Space", edenSpace);
- createTimeSeries("Survivor Space", survivorSpace);
- reschedule();
- }
-
- public void addObservation() throws Exception {
- //MBeanServer server = ManagementFactory.getPlatformMBeanServer();
- MemoryUsage usage = MemoryUsage.from((CompositeData) MemoryProbeTabUI.mbs.getAttribute(permGen, "Usage"));
- MemoryUsage usage2 = MemoryUsage.from((CompositeData) MemoryProbeTabUI.mbs.getAttribute(tenuredGen, "Usage"));
- MemoryUsage usage3 = MemoryUsage.from((CompositeData) MemoryProbeTabUI.mbs.getAttribute(codeCache, "Usage"));
- MemoryUsage usage4 = MemoryUsage.from((CompositeData) MemoryProbeTabUI.mbs.getAttribute(edenSpace, "Usage"));
- MemoryUsage usage5 = MemoryUsage.from((CompositeData) MemoryProbeTabUI.mbs.getAttribute(survivorSpace, "Usage"));
- getTimeSeries(permGen).add( new Millisecond(), usage.getUsed() );
- getTimeSeries(tenuredGen).add( new Millisecond(), usage2.getUsed() );
- getTimeSeries(codeCache).add( new Millisecond(), usage3.getUsed() );
- getTimeSeries(edenSpace).add( new Millisecond(), usage4.getUsed() );
- getTimeSeries(survivorSpace).add( new Millisecond(), usage5.getUsed() );
-
- }
-
-
-
- public static void main(String[] args) {
- MemoryUsageLineChartComponent graph = new MemoryUsageLineChartComponent();
-
- JFrame frame = new JFrame();
- JPanel panel = new JPanel();
- panel.setLayout(new BorderLayout());
- frame.getContentPane().add(panel);
- panel.add(graph, BorderLayout.CENTER);
-
- frame.pack();
- frame.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- frame.setVisible(true);
- }
-
-
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/NumericAttributeGraph.java b/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/NumericAttributeGraph.java
deleted file mode 100755
index 88cf772..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/java/org/apache/felix/mosgi/managedelements/memoryprobe/tab/NumericAttributeGraph.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.felix.mosgi.managedelements.memoryprobe.tab;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-public class NumericAttributeGraph extends AttributeGraphPanel {
-
- protected Set attributeSet = new HashSet();
-
- public int getUpdateInterval() {
- return sleepSlider.getValue();
- }
-
- public void setUpdateInterval(int updateInterval) {
- sleepSlider.setValue(updateInterval);
- }
-
- public java.lang.String getAttributeName() {
- return "Multivalue attribute";
- }
-
- public void setAttributeName(java.lang.String attributeName) {
- this.attributeSet.add(attributeName);
- }
-
-}
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/resources/images/GraphSettings.gif b/mosgi.managedelements.memoryprobe.tab/src/main/resources/images/GraphSettings.gif
deleted file mode 100644
index 982e2dc..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/resources/images/GraphSettings.gif
+++ /dev/null
Binary files differ
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/resources/lib/jcommon-1.0.4.jar b/mosgi.managedelements.memoryprobe.tab/src/main/resources/lib/jcommon-1.0.4.jar
deleted file mode 100644
index 17d60b8..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/resources/lib/jcommon-1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/mosgi.managedelements.memoryprobe.tab/src/main/resources/lib/jfreechart-1.0.1.jar b/mosgi.managedelements.memoryprobe.tab/src/main/resources/lib/jfreechart-1.0.1.jar
deleted file mode 100644
index 9663c1a..0000000
--- a/mosgi.managedelements.memoryprobe.tab/src/main/resources/lib/jfreechart-1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/pom.xml b/pom.xml
index 20bd6dc..8967ab4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -106,7 +106,6 @@
<module>mosgi.managedelements.obrprobe</module>
<module>mosgi.managedelements.obrprobe.tab</module>
<module>mosgi.managedelements.memoryprobe</module>
- <module>mosgi.managedelements.memoryprobe.tab</module>
<module>ipojo.plugin</module>
<module>ipojo.arch</module>