From: Johannes Z. <jza...@us...> - 2006-02-23 18:35:20
|
Update of /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4028/src/net/sf/magicmap/client/controller Modified Files: Controller.java VirtualServerManager.java ServerManager.java SOAPServerManager.java Log Message: implemented routines for geo positions Index: VirtualServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** VirtualServerManager.java 20 Feb 2006 08:49:14 -0000 1.5 --- VirtualServerManager.java 23 Feb 2006 18:34:38 -0000 1.6 *************** *** 19,22 **** --- 19,23 ---- import net.sf.magicmap.client.interfaces.ServerDisconnectCallback; import net.sf.magicmap.client.meta.MapInfo; + import net.sf.magicmap.client.model.node.GeoPos; import net.sf.magicmap.client.utils.Settings; import net.sf.magicmap.client.utils.Version; *************** *** 234,237 **** --- 235,270 ---- } + /* (non-Javadoc) + * @see net.sf.magicmap.client.controller.ServerManager#createGeoPos(int, int, boolean, net.sf.magicmap.client.model.node.GeoPos, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) + */ + public void createGeoPos(final int x, final int y, final boolean fixed, + final GeoPos geoPos, final String name, final CreatePositionCallback callback) { + + if (isConnected()) { + // final SignalCharacterDTO signalCharacter = currentSignalCharacter(); + // final GeoPointDTO geoPoint = + // new GeoPointDTO(geoPos.getAltitude(), geoPos.getLatitude(), geoPos.getLongitude(), x, y, (long) -1); + + Thread createPositionThread = new Thread() { + + public void run(){ + synchronized (mutex){ + try { + // VirtualServerManager.this.mapDelegate.createGeoPoint( + // sessionId, name, x, y, geoPos.getLongitude(), + // geoPos.getLatitude(), geoPos.getAltitude()); + // TODO: Zusätzliche Parameter zur Position + callback.positionCreated(); + } catch (Exception e){ + callback.positionCreationError(e); + } + } + } + }; + createPositionThread.start(); + } + } + + /* * (non-Javadoc) Index: Controller.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Controller.java 20 Feb 2006 08:49:14 -0000 1.8 --- Controller.java 23 Feb 2006 18:34:38 -0000 1.9 *************** *** 31,34 **** --- 31,35 ---- import net.sf.magicmap.client.model.node.AccessPointSeerNode; import net.sf.magicmap.client.model.node.ClientNode; + import net.sf.magicmap.client.model.node.GeoPos; import net.sf.magicmap.client.model.node.Node; import net.sf.magicmap.client.model.node.NodeModel; *************** *** 445,448 **** --- 446,462 ---- } } + + + /** + * Erzeugt einen Referenzpunkt auf der aktuellen Karte mit den aktuellen + * Messwerten des Clients mit den angegebenen Koordinaten. + */ + public void createGeoPos(int x, int y, GeoPos geoPos, String name, boolean fixed, CreatePositionCallback callback){ + if (!isConnected() || !isMapLoaded()) { + callback.positionCreationError(new Exception("Nicht verbunden oder keine Karte geladen.")); + } else{ + serverManager.createGeoPos(x, y, fixed, geoPos, name, callback); + } + } Index: ServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/ServerManager.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** ServerManager.java 20 Feb 2006 08:49:14 -0000 1.9 --- ServerManager.java 23 Feb 2006 18:34:38 -0000 1.10 *************** *** 26,29 **** --- 26,30 ---- import net.sf.magicmap.client.interfaces.ServerDisconnectCallback; import net.sf.magicmap.client.model.measurement.SeenAccessPoint; + import net.sf.magicmap.client.model.node.GeoPos; import net.sf.magicmap.server.dto.PositionDTO; import net.sf.magicmap.server.dto.SignalCharacterDTO; *************** *** 141,144 **** --- 142,153 ---- public abstract void createLocation(final int x, final int y, final boolean fixed, final String name, final CreatePositionCallback callback); + + /** + * Erzeugt eine Geokoordinate auf dem Server + * @param node + * @param callback + */ + public abstract void createGeoPos(final int x, final int y, final boolean fixed, final GeoPos geoPos, final String name, + final CreatePositionCallback callback); /** Index: SOAPServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SOAPServerManager.java 20 Feb 2006 08:49:14 -0000 1.5 --- SOAPServerManager.java 23 Feb 2006 18:34:38 -0000 1.6 *************** *** 25,30 **** --- 25,32 ---- import net.sf.magicmap.client.interfaces.ServerDisconnectCallback; import net.sf.magicmap.client.meta.MapInfo; + import net.sf.magicmap.client.model.node.GeoPos; import net.sf.magicmap.client.utils.Settings; import net.sf.magicmap.client.utils.Version; + import net.sf.magicmap.server.dto.GeoPointDTO; import net.sf.magicmap.server.dto.MapDTO; import net.sf.magicmap.server.dto.PositionDTO; *************** *** 228,231 **** --- 230,264 ---- } + /* (non-Javadoc) + * @see net.sf.magicmap.client.controller.ServerManager#createGeoPos(int, int, boolean, net.sf.magicmap.client.model.node.GeoPos, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) + */ + public void createGeoPos(final int x, final int y, final boolean fixed, + final GeoPos geoPos, final String name, final CreatePositionCallback callback) { + + if (isConnected()) { + // final SignalCharacterDTO signalCharacter = currentSignalCharacter(); + // final GeoPointDTO geoPoint = + // new GeoPointDTO(geoPos.getAltitude(), geoPos.getLatitude(), geoPos.getLongitude(), x, y, (long) -1); + + Thread createPositionThread = new Thread() { + + public void run(){ + synchronized (mutex){ + try { + SOAPServerManager.this.mapDelegate.createGeoPoint( + sessionId, name, x, y, geoPos.getLongitude(), + geoPos.getLatitude(), geoPos.getAltitude()); + // TODO: Zusätzliche Parameter zur Position + callback.positionCreated(); + } catch (Exception e){ + callback.positionCreationError(e); + } + } + } + }; + createPositionThread.start(); + } + } + /** * Entfernt einen Referenzpunkt oder die Positionierung eines |