From: <fle...@us...> - 2007-01-25 15:58:19
|
Revision: 516 http://svn.sourceforge.net/magicmap/?rev=516&view=rev Author: flederohr Date: 2007-01-25 07:58:13 -0800 (Thu, 25 Jan 2007) Log Message: ----------- Handling of Locations in MeasurementModel <buggy> Modified Paths: -------------- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java =================================================================== --- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-01-25 14:01:01 UTC (rev 515) +++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-01-25 15:58:13 UTC (rev 516) @@ -150,6 +150,7 @@ nodeModel.addNode(ap); // ap.setName(mac); } + controller.getMeasurementModel().updateScanResult(location, mac, r.getSignalLevel()); if (!ap.isHidden()) location.seesAccessPoint(ap, r.getSignalLevel()); } @@ -198,9 +199,11 @@ } else // AccessPoint nur aktualisieren? if (seenAps.remove(ap)) // Nur Signallevel aktualisieren location.setSignalLevelForAcessPoint(ap, r.getSignalLevel()); - else + else{ // Neu location.seesAccessPoint(ap, r.getSignalLevel()); + controller.getMeasurementModel().updateScanResult (location, mac, r.getSignalLevel()); + } } // Alle APs aus seenAps werden demzufolge This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-30 14:51:13
|
Revision: 658 http://svn.sourceforge.net/magicmap/?rev=658&view=rev Author: anweiss Date: 2007-05-30 07:50:55 -0700 (Wed, 30 May 2007) Log Message: ----------- added the possibility to add listeners to the pollhandler Modified Paths: -------------- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java =================================================================== --- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-05-30 14:49:26 UTC (rev 657) +++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-05-30 14:50:55 UTC (rev 658) @@ -6,9 +6,11 @@ import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; +import java.util.Collection; import javax.swing.SwingUtilities; +import net.sf.magicmap.client.interfaces.PollHandlerListener; import net.sf.magicmap.client.interfaces.ServerPollerListener; import net.sf.magicmap.client.model.node.AccessPointNode; import net.sf.magicmap.client.model.node.ClientNode; @@ -19,7 +21,6 @@ import net.sf.magicmap.client.model.node.MapNode; import net.sf.magicmap.client.model.node.Node; import net.sf.magicmap.client.model.node.NodeModelConstants; -import net.sf.magicmap.client.model.node.AccessPointSeerNode.MeasurementModel; import net.sf.magicmap.server.dto.AccessPointDTO; import net.sf.magicmap.server.dto.ClientDTO; import net.sf.magicmap.server.dto.GeoPointDTO; @@ -28,6 +29,8 @@ import net.sf.magicmap.server.dto.SignalCharacterDTO; import net.sf.magicmap.server.dto.SimpleScanResultDTO; +import org.apache.log4j.Logger; + /** * Wertet die Ergebnisse des Pollers aus und gibt sie in geeigneter Weise an den * Client weiter. @@ -36,11 +39,14 @@ */ public class PollHandler implements ServerPollerListener { - private Controller controller; + private Controller controller; + private final static Collection<PollHandlerListener> listeners = new ArrayList<PollHandlerListener>(); + public PollHandler(Controller controller) { this.controller = controller; } + private final Logger log = Logger.getLogger(PollHandler.class); /** * Werte ein PositionDTO-Objekt aus und generiert entsprechende Ergenisse @@ -58,7 +64,7 @@ public void run(){ try { - if (!controller.isConnected()){ + if (!controller.isConnected()) { return; } INodeModel nodeModel = PollHandler.this.controller.getNodeModel(); @@ -74,11 +80,11 @@ ((LocationNode) node).remove(); nodeModel.removeNode(node); } else - System.out - .println("Position with location information deleted, but node with given name is not a location!"); + log + .info("Position with location information deleted, but node with given name is not a location!"); } else - System.out - .println("Position with location information deleted, but no node found for it."); + log.info("Position with location information deleted, but no node found for it."); + firePositionCreatedOrUpdatedOrDeleted(); return; } if (position.getClient() != null) // Node client = @@ -88,31 +94,34 @@ if (ap != null) { // AccessPoint wurde "frei" gemacht ap.setFix(false); - System.out.println("Accesspoint unfixed."); + log.info("Accesspoint unfixed."); } else - System.out.println("Position with accesspoint deleted, but no node found for it."); + log.info("Position with accesspoint deleted, but no node found for it."); return; } - System.out - .println("Position with id " + position.getId() + " was deleted but not handled."); + log.info("Position with id " + position.getId() + " was deleted but not handled."); + firePositionCreatedOrUpdatedOrDeleted(); return; } else { // Neues Positionsobjekt oder altes wurde // aktualisiert (Location) if (position.getClient() == null && position.getAccessPoint() == null) { handlePositionXYZ(node, nodeModel, position); + firePositionCreatedOrUpdatedOrDeleted(); return; } if (position.getAccessPoint() != null) { handleAccessPointXYZ(nodeModel, position); + firePositionCreatedOrUpdatedOrDeleted(); return; } if (position.getClient() != null && position.getCharacter() != null) { handleClientXYZ(nodeModel, position); + firePositionCreatedOrUpdatedOrDeleted(); return; } } - System.out.println("Unbekannte Position. Kann nix anfangen damit."); + log.error("Unbekannte Position. Kann nix anfangen damit."); } catch (Exception e) { e.printStackTrace(); } @@ -173,7 +182,7 @@ if (!ap.isHidden()) location.seesAccessPoint(ap, r.getSignalLevel()); } } else { - System.out.println("Referenzpunkt verschoben."); + log.info("Referenzpunkt verschoben."); // Referenzpunkt wird nur aktualisiert, wir // gehen davon aus // das sich nur die Position ver\xE4ndern darf @@ -240,7 +249,7 @@ * @param position */ private void handleAccessPointXYZ(INodeModel nodeModel, PositionDTO position){ - System.out.println("Accesspointposition erzeugt oder aktualisiert."); + log.info("Accesspointposition erzeugt oder aktualisiert."); AccessPointDTO apdto = position.getAccessPoint(); AccessPointNode ap = nodeModel.findAccessPoint(apdto.getMac()); if (ap == null) { @@ -261,7 +270,7 @@ } else { // Loser AccessPoint gemeldet ap.setFix(false); - System.out.println("Unfix accesspoint received. This was not in our contract."); + log.error("Unfixed accesspoint received. This was not in our contract."); } } @@ -279,15 +288,15 @@ if (client == this.controller.getClient() && !position.isFixed()) { // Aber noch schnell unfixieren client.setFix(false); - System.out.println("Eigener Client wird ignoriert"); + log.info("Eigener Client wird ignoriert"); return; } else if (client == this.controller.getClient() && position.isFixed()) - System.out.println("Eigener Client empfangen mit fixierter Position."); + log.info("Eigener Client empfangen mit fixierter Position."); // Sonst beachten wir alle Positionen die wir // bekommen if (client == null) { - System.out.println("Neuer Client empfangen (" + clientdto.getMac() + ", " + clientdto.getName() + log.info("Neuer Client empfangen (" + clientdto.getMac() + ", " + clientdto.getName() + ". F\xFCge zum Graphen hinzu."); client = new ClientNode(nodeModel); client.setMacAddress(clientdto.getMac()); @@ -295,7 +304,7 @@ nodeModel.addNode(client); } - System.out.println("Position f\xFCr Client " + client.getName() + " empfangen. fix = " + position.isFixed()); + log.info("Position f\xFCr Client " + client.getName() + " empfangen. fix = " + position.isFixed()); // client.setPosition(position.getPosX().intValue(), // position.getPosY().intValue()); @@ -318,8 +327,7 @@ SignalCharacterDTO sc = position.getCharacter(); SimpleScanResultDTO[] sr = sc.getSimpleScanResults(); // Alle momentan gesehenen AccessPoints merken - ArrayList seenAps = client.getSeenAccessPoints(); - + if (sr != null) { double[] signalLevels = new double[sr.length]; String[] macs = new String[sr.length]; @@ -353,16 +361,20 @@ nodeModel.addNode(mapNode); } + for (PollHandlerListener phl : listeners) { + phl.mapCreatedOrUpdatedOrDeleted(); + } } catch (Exception e) { + for (PollHandlerListener phl : listeners) { + phl.mapCreatedOrUpdatedOrDeletedError(e); + } e.printStackTrace(); } } }); } catch (InterruptedException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { - // TODO Auto-generated catch block e.printStackTrace(); } } @@ -388,24 +400,83 @@ .getGeoPointAlt()); geoNode.setName(pointDTO.toString()); geoNode.setId(pointDTO.getId()); - System.err.println("created geo node: " + geoNode.getId()); + log.info("created geo node: " + geoNode.getId()); geoNode.setGeoPos(geoPos); nodeModel.addNode(geoNode); geoNode.setFix(true); geoNode.setPosition(pointDTO.getGeoPointX(), pointDTO.getGeoPointY(), 0); + } - + fireGeoPosCreatedOrUpdatedOrDeleted(); } catch (Exception e) { + fireGeoPositionFetchError(e); e.printStackTrace(); } } }); } catch (InterruptedException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { - // TODO Auto-generated catch block e.printStackTrace(); + } } + + public void geoPositionFetchError(Exception e){ + fireGeoPositionFetchError(e); + + } + + public void positionFetchError(Exception e){ + firePositionFetchError(e); + + } + + public static void addListener(PollHandlerListener listener){ + listeners.add(listener); + } + + public void removeListener(PollHandlerListener listener){ + this.listeners.remove(listener); + } + + private void firePositionCreatedOrUpdatedOrDeleted(){ + for (PollHandlerListener phl : listeners) { + phl.positionCreatedOrUpdatedOrDeleted(); + } + } + + private void firePositionFetchError(Exception e){ + for (PollHandlerListener phl : listeners) { + phl.positionFetchError(e); + } + } + + protected void fireMapCreatedOrUpdatedOrDeleted(){ + for (PollHandlerListener phl : listeners) { + phl.mapCreatedOrUpdatedOrDeleted(); + } + + } + + protected void fireMapCreatedOrUpdatedOrDeletedError(Exception e){ + for (PollHandlerListener phl : listeners) { + phl.mapCreatedOrUpdatedOrDeletedError(e); + } + + } + + protected void fireGeoPositionFetchError(Exception e){ + for (PollHandlerListener phl : listeners) { + phl.geoPositionFetchError(e); + } + + } + + protected void fireGeoPosCreatedOrUpdatedOrDeleted(){ + for (PollHandlerListener phl : listeners) { + phl.geoPosCreatedOrUpdatedOrDeleted(); + } + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-10-02 15:49:37
|
Revision: 669 http://magicmap.svn.sourceforge.net/magicmap/?rev=669&view=rev Author: anweiss Date: 2007-10-02 08:49:35 -0700 (Tue, 02 Oct 2007) Log Message: ----------- type safety Modified Paths: -------------- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java =================================================================== --- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-09-06 13:39:40 UTC (rev 668) +++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-10-02 15:49:35 UTC (rev 669) @@ -211,7 +211,7 @@ // Alle momentan gesehenen AccessPoints // merken - ArrayList seenAps = location.getSeenAccessPoints(); + ArrayList <AccessPointNode> seenAps = location.getSeenAccessPoints(); for (SimpleScanResultDTO r : sr) { String mac = r.getMacAP(); // Gibt es ggf. einen AP mit der @@ -437,7 +437,7 @@ } public void removeListener(PollHandlerListener listener){ - this.listeners.remove(listener); + listeners.remove(listener); } private void firePositionCreatedOrUpdatedOrDeleted(){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |