|
From: <rad...@us...> - 2007-03-14 20:18:50
|
Revision: 600
http://svn.sourceforge.net/magicmap/?rev=600&view=rev
Author: radetzki09
Date: 2007-03-14 13:18:46 -0700 (Wed, 14 Mar 2007)
Log Message:
-----------
The MeasureTableCellRenderer displays only SeenAccessPoints - why? Therefore the SeenAccessPoint implements now the ISeenNode.
Second Change is a getter-methode in the MeasurementView for the measurementTable. Now its possible to add new AbstractMeasurementTableModels for new Nodes.
Modified Paths:
--------------
trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasureTableCellRenderer.java
trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementTable.java
trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementView.java
trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/SeenAccessPoint.java
Added Paths:
-----------
trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/ISeenNode.java
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasureTableCellRenderer.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasureTableCellRenderer.java 2007-03-14 19:39:17 UTC (rev 599)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasureTableCellRenderer.java 2007-03-14 20:18:46 UTC (rev 600)
@@ -14,7 +14,7 @@
import net.sf.magicmap.client.measurement.Constants;
import net.sf.magicmap.client.measurement.MeasurementUtils;
-import net.sf.magicmap.client.model.measurement.SeenAccessPoint;
+import net.sf.magicmap.client.model.measurement.ISeenNode;
/**
*
@@ -27,7 +27,7 @@
* serial version id
*/
private static final long serialVersionUID = 2446093942494182395L;
- private SeenAccessPoint ap;
+ private ISeenNode ap;
private boolean avg;
public MeasureTableCellRenderer(boolean avg) {
@@ -45,7 +45,7 @@
super.setForeground(table.getForeground());
super.setBackground(table.getBackground());
}
- this.ap = (SeenAccessPoint) value;
+ this.ap = (ISeenNode) value;
return this;
}
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementTable.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementTable.java 2007-03-14 19:39:17 UTC (rev 599)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementTable.java 2007-03-14 20:18:46 UTC (rev 600)
@@ -5,30 +5,29 @@
import java.util.Map;
import javax.swing.JTable;
-import javax.swing.table.DefaultTableColumnModel;
-import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
-import javax.swing.table.TableModel;
import net.sf.magicmap.client.gui.MainGUI;
import net.sf.magicmap.client.model.measurement.AbstractMeasurementTableModel;
-import net.sf.magicmap.client.model.measurement.MeasurementTableModel;
-import net.sf.magicmap.client.model.measurement.SeenAccessPoint;
-import net.sf.magicmap.client.model.node.AccessPointSeerNode;
import net.sf.magicmap.client.model.node.INodeModelSelectionListener;
import net.sf.magicmap.client.model.node.Node;
import net.sf.magicmap.client.model.node.NodeModelSelectionEvent;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
public class MeasurementTable extends JTable implements INodeModelSelectionListener {
private final Map<Class, AbstractMeasurementTableModel> tableModelMap;
-
+
+ private static final Log log = LogFactory
+ .getLog(MeasurementTable.class);
+
/**
*
*/
- private static final long serialVersionUID = 1L;
- private static final AbstractMeasurementTableModel EMPTY_TABLE_MODEL = new EmptyTableModel();
+ private static final long serialVersionUID = 1L;
+ private static final AbstractMeasurementTableModel EMPTY_TABLE_MODEL = new EmptyTableModel();
private static class EmptyTableModel extends AbstractMeasurementTableModel {
@@ -45,14 +44,19 @@
}
public void addTableModelForNode(Class node, AbstractMeasurementTableModel model){
+ MeasurementTable.log.debug("addTableModelForNode: " + node.getSimpleName() + " "
+ + model.getClass().getSimpleName());
tableModelMap.put(node, model);
}
public AbstractMeasurementTableModel getTableModelForNode(Class node){
- if (tableModelMap.containsKey(node))
+ if (tableModelMap.containsKey(node)) {
+ MeasurementTable.log.debug("getTableModelForNode: found TableModel for " + node.getSimpleName());
return tableModelMap.get(node);
- else
+ } else {
+ MeasurementTable.log.debug("getTableModelForNode: empty TableModel for " + node.getSimpleName());
return EMPTY_TABLE_MODEL;
+ }
}
@Override
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementView.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementView.java 2007-03-14 19:39:17 UTC (rev 599)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/gui/views/MeasurementView.java 2007-03-14 20:18:46 UTC (rev 600)
@@ -10,16 +10,13 @@
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
-import javax.swing.table.DefaultTableColumnModel;
-import javax.swing.table.TableColumnModel;
import net.sf.magicmap.client.gui.MainGUI;
import net.sf.magicmap.client.gui.utils.GUIBuilder;
import net.sf.magicmap.client.gui.utils.GUIConstants;
import net.sf.magicmap.client.gui.utils.GUIUtils;
import net.sf.magicmap.client.model.measurement.MeasurementTableModel;
-import net.sf.magicmap.client.model.measurement.SeenAccessPoint;
-import net.sf.magicmap.client.model.node.AccessPointSeerNode;
+import net.sf.magicmap.client.model.measurement.ISeenNode;
import net.sf.magicmap.client.model.node.ClientNode;
import net.sf.magicmap.client.model.node.INodeModel;
import net.sf.magicmap.client.model.node.INodeModelSelectionListener;
@@ -37,18 +34,18 @@
*/
private static final long serialVersionUID = 7568742160250506631L;
- private MeasurementTable table;
+ private MeasurementTable measurementTable;
public MeasurementView(INodeModel nodeModel, String name) {
super(GUIUtils.i18n("measurement"));
this.setFrameIcon(GUIBuilder.getToolIcon(GUIConstants.ICON_MEASUREMENT));
- this.table = new MeasurementTable();
- this.table.setDefaultRenderer(SeenAccessPoint.class, new MeasureTableCellRenderer(true));
+ this.measurementTable = new MeasurementTable();
+ this.measurementTable.setDefaultRenderer(ISeenNode.class, new MeasureTableCellRenderer(true));
MeasurementTableModel tableModel = new MeasurementTableModel();
- this.table.addTableModelForNode(ClientNode.class, tableModel);
- this.table.addTableModelForNode(LocationNode.class, tableModel);
+ this.measurementTable.addTableModelForNode(ClientNode.class, tableModel);
+ this.measurementTable.addTableModelForNode(LocationNode.class, tableModel);
setContent(buildViewComponent());
@@ -69,10 +66,10 @@
*/
@Override
protected JComponent buildViewComponent(){
- this.table.setBorder(new EmptyBorder(new Insets(3, 3, 3, 3)));
- this.table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
+ this.measurementTable.setBorder(new EmptyBorder(new Insets(3, 3, 3, 3)));
+ this.measurementTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
- JScrollPane pane = new JScrollPane(this.table);
+ JScrollPane pane = new JScrollPane(this.measurementTable);
return pane;
}
@@ -85,4 +82,9 @@
setTitle(getName());
}
}
+
+
+ public MeasurementTable getMeasurementTable(){
+ return measurementTable;
+ }
}
\ No newline at end of file
Added: trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/ISeenNode.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/ISeenNode.java (rev 0)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/ISeenNode.java 2007-03-14 20:18:46 UTC (rev 600)
@@ -0,0 +1,27 @@
+
+package net.sf.magicmap.client.model.measurement;
+
+public interface ISeenNode {
+
+ public static final int SCAN_COUNT = 10;
+
+ public abstract String getMac();
+
+ /**
+ * Wenn AccessPoint nicht sichtbar. Ist ein starker AP nicht sichtbar wird
+ * dies verziehen, bei schwachen werden Nullwerte eingef\xFCgt.
+ *
+ */
+ public abstract void addDeadSignal();
+
+ public abstract void addSignalLevel(double signalLevel);
+
+ public abstract double getAverageSignalLevel();
+
+ public abstract boolean isDead();
+
+ public abstract boolean isTotallyDead();
+
+ public abstract double getLastSignalLevel();
+
+}
\ No newline at end of file
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/SeenAccessPoint.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/SeenAccessPoint.java 2007-03-14 19:39:17 UTC (rev 599)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/SeenAccessPoint.java 2007-03-14 20:18:46 UTC (rev 600)
@@ -11,10 +11,8 @@
*
* @author thuebner
*/
-public class SeenAccessPoint {
+public class SeenAccessPoint implements ISeenNode {
- public static final int SCAN_COUNT = 10;
-
private double[] signalLevels; // Echter Signallevel (- xxx dB)
private double avgSignalLevel;
private String mac;
@@ -23,9 +21,9 @@
public SeenAccessPoint(String mac, double signalLevel) {
this.mac = mac;
this.deadCounter = 0;
- this.signalLevels = new double[SeenAccessPoint.SCAN_COUNT];
+ this.signalLevels = new double[ISeenNode.SCAN_COUNT];
// Beim initialisieren alle Felder vorbelegen
- for (int i = 0; i < SeenAccessPoint.SCAN_COUNT; i++)
+ for (int i = 0; i < ISeenNode.SCAN_COUNT; i++)
this.signalLevels[i] = signalLevel;
this.avgSignalLevel = signalLevel;
}
@@ -70,12 +68,12 @@
* @param signalLevel
*/
private void addSignalLevelIntern(double signalLevel){
- double[] n = new double[SeenAccessPoint.SCAN_COUNT];
- this.avgSignalLevel -= this.signalLevels[0] / SeenAccessPoint.SCAN_COUNT;
- System.arraycopy(this.signalLevels, 1, n, 0, SeenAccessPoint.SCAN_COUNT - 1);
+ double[] n = new double[ISeenNode.SCAN_COUNT];
+ this.avgSignalLevel -= this.signalLevels[0] / ISeenNode.SCAN_COUNT;
+ System.arraycopy(this.signalLevels, 1, n, 0, ISeenNode.SCAN_COUNT - 1);
this.signalLevels = n;
- this.signalLevels[SeenAccessPoint.SCAN_COUNT - 1] = signalLevel;
- this.avgSignalLevel += this.signalLevels[SeenAccessPoint.SCAN_COUNT - 1] / SeenAccessPoint.SCAN_COUNT;
+ this.signalLevels[ISeenNode.SCAN_COUNT - 1] = signalLevel;
+ this.avgSignalLevel += this.signalLevels[ISeenNode.SCAN_COUNT - 1] / ISeenNode.SCAN_COUNT;
}
public double getAverageSignalLevel(){
@@ -87,11 +85,11 @@
}
public boolean isTotallyDead(){
- return (this.deadCounter >= SeenAccessPoint.SCAN_COUNT);
+ return (this.deadCounter >= ISeenNode.SCAN_COUNT);
}
public double getLastSignalLevel(){
- return this.signalLevels[SeenAccessPoint.SCAN_COUNT - 1];
+ return this.signalLevels[ISeenNode.SCAN_COUNT - 1];
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|