From: <fle...@us...> - 2007-11-30 16:18:04
|
Revision: 694 http://magicmap.svn.sourceforge.net/magicmap/?rev=694&view=rev Author: flederohr Date: 2007-11-30 07:38:32 -0800 (Fri, 30 Nov 2007) Log Message: ----------- Use of external positioninginformations for foreign clients. Sending of local positioninginformations to the server. Modified Paths: -------------- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerPoller.java Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java =================================================================== --- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-11-19 14:49:58 UTC (rev 693) +++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2007-11-30 15:38:32 UTC (rev 694) @@ -39,7 +39,7 @@ */ public class PollHandler implements ServerPollerListener { - private Controller controller; + private Controller controller; private final static Collection<PollHandlerListener> listeners = new ArrayList<PollHandlerListener>(); @@ -100,7 +100,7 @@ return; } log.info("Position with id " + position.getId() + " was deleted but not handled."); - firePositionCreatedOrUpdatedOrDeleted(); + firePositionCreatedOrUpdatedOrDeleted(); return; } else { // Neues Positionsobjekt oder altes wurde @@ -211,7 +211,7 @@ // Alle momentan gesehenen AccessPoints // merken - ArrayList <AccessPointNode> seenAps = location.getSeenAccessPoints(); + ArrayList<AccessPointNode> seenAps = location.getSeenAccessPoints(); for (SimpleScanResultDTO r : sr) { String mac = r.getMacAP(); // Gibt es ggf. einen AP mit der @@ -301,6 +301,7 @@ client = new ClientNode(nodeModel); client.setMacAddress(clientdto.getMac()); client.setName(clientdto.getName()); + client.setId(position.getId()); nodeModel.addNode(client); } @@ -308,12 +309,12 @@ // client.setPosition(position.getPosX().intValue(), // position.getPosY().intValue()); - if (position.isFixed()) { - // Client wurde fixiert - client.setFix(true); - client.setPosition(position.getPosX(), position.getPosY(), position.getPosZ()); - } else - client.setFix(false); + // Position \xE4ndern + client.setPosition(position.getPosX(), position.getPosY(), position.getPosZ()); + // FixierungsStatus setzen + client.setFix(position.isFixed()); + + // TODO: ist die id hier wirklich notwendig? client.setId(position.getId()); // Signalst\xE4rken usw. verwaltet der scannende @@ -327,7 +328,7 @@ SignalCharacterDTO sc = position.getCharacter(); SimpleScanResultDTO[] sr = sc.getSimpleScanResults(); // Alle momentan gesehenen AccessPoints merken - + if (sr != null) { double[] signalLevels = new double[sr.length]; String[] macs = new String[sr.length]; @@ -435,7 +436,7 @@ public static void addListener(PollHandlerListener listener){ listeners.add(listener); } - + public void removeListener(PollHandlerListener listener){ listeners.remove(listener); } @@ -478,5 +479,5 @@ phl.geoPosCreatedOrUpdatedOrDeleted(); } } - + } Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java =================================================================== --- trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java 2007-11-19 14:49:58 UTC (rev 693) +++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java 2007-11-30 15:38:32 UTC (rev 694) @@ -8,6 +8,9 @@ import java.rmi.RemoteException; import java.util.Collection; +import edu.uci.ics.jung.graph.Vertex; +import edu.uci.ics.jung.visualization.SpringLayout; + import net.sf.magicmap.client.delegate.MapDelegate; import net.sf.magicmap.client.delegate.PositionDelegate; import net.sf.magicmap.client.delegate.SessionDelegate; @@ -28,6 +31,8 @@ import net.sf.magicmap.client.interfaces.ServerConnectCallback; import net.sf.magicmap.client.interfaces.ServerDisconnectCallback; import net.sf.magicmap.client.meta.MapInfo; +import net.sf.magicmap.client.model.location.jung.JungNodePlacer; +import net.sf.magicmap.client.model.node.ClientNode; import net.sf.magicmap.client.model.node.GeoPos; import net.sf.magicmap.client.utils.Settings; import net.sf.magicmap.client.utils.Version; @@ -614,8 +619,12 @@ synchronized (SOAPServerManager.mutex) { if (!isConnected()) return; try { - int x = SOAPServerManager.this.controller.getClientPosX(); - int y = SOAPServerManager.this.controller.getClientPosY(); + // TODO: abfrage ist im moment nicht aus dem Nodemodel m\xF6glich, daher behelfsl\xF6sung direkt aus dem Layout + ClientNode client = Controller.getInstance().getClient(); + Vertex clientVertex = ((JungNodePlacer) Controller.getInstance().getNodeModel().getNodePlacer()).findVertex(client); + SpringLayout layout = ((JungNodePlacer) Controller.getInstance().getNodeModel().getNodePlacer()).getLayout(); + int x = (int) layout.getX(clientVertex); + int y = (int) layout.getY(clientVertex); int z = SOAPServerManager.this.controller.getClientPosZ(); if (x < 0) x = 0; Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerPoller.java =================================================================== --- trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerPoller.java 2007-11-19 14:49:58 UTC (rev 693) +++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerPoller.java 2007-11-30 15:38:32 UTC (rev 694) @@ -40,8 +40,8 @@ } public void start(){ - this.timer.scheduleAtFixedRate(builderTimerTask(), Settings.POLL_DELAY, Settings.getPollIntevall()); - this.timer.scheduleAtFixedRate(geoPointsTimerTask(), Settings.POLL_DELAY + 1000, 120000); + this.timer.scheduleAtFixedRate(pollPositionsTimerTask(), Settings.POLL_DELAY, Settings.getPollIntevall()); + this.timer.scheduleAtFixedRate(pollGeoPointsTimerTask(), Settings.POLL_DELAY + 1000, 120000); } public void stop(){ @@ -54,7 +54,7 @@ * um nach \xC4nderungen zu fragen. * @return */ - public TimerTask builderTimerTask(){ + public TimerTask pollPositionsTimerTask(){ return new TimerTask() { @Override @@ -72,7 +72,7 @@ }; } - public TimerTask geoPointsTimerTask(){ + public TimerTask pollGeoPointsTimerTask(){ return new TimerTask() { @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |