From: Florian L. <fle...@us...> - 2006-03-02 11:06:47
|
Update of /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7673/src/net/sf/magicmap/client/controller Modified Files: VirtualServerManager.java PollHandler.java Controller.java ServerManager.java SOAPServerManager.java Log Message: Accesspoint brechnung Index: VirtualServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** VirtualServerManager.java 28 Feb 2006 11:23:16 -0000 1.7 --- VirtualServerManager.java 2 Mar 2006 11:06:32 -0000 1.8 *************** *** 166,174 **** } String[] names = (String[]) result.toArray(new String[0]); ! ! if (openDialog) { ! callback.openMapDialog(names); ! } else { ! callback.addMapNamesToOutline(names); } } catch (Exception e){ --- 166,174 ---- } String[] names = (String[]) result.toArray(new String[0]); ! ! if (openDialog){ ! callback.openMapDialog(names); ! } else{ ! callback.addMapNamesToOutline(names); } } catch (Exception e){ *************** *** 237,272 **** } ! /* (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) --- 237,271 ---- } ! /* (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) *************** *** 383,386 **** --- 382,410 ---- } + /* (non-Javadoc) + * @see net.sf.magicmap.client.controller.ServerManager#setAccessPointHiddenStatus(long, java.lang.String, java.lang.String, boolean, net.sf.magicmap.client.interfaces.PositionCallback) + */ + @Override + public void setAccessPointHiddenStatus(final String accessPointMac, final boolean hidden, + final PositionCallback callback){ + if (isConnected()){ + Thread positionThread = new Thread() { + + public void run(){ + synchronized (mutex){ + try{ + positionFacade.setAccessPointHiddenStatus(sessionId, controller.getCurrentMap().name, accessPointMac, + hidden); + callback.positionUpdated(accessPointMac); + } catch (Exception e){ + callback.positionError(e); + } + } + } + }; + positionThread.start(); + } + } + /* * (non-Javadoc) *************** *** 420,424 **** */ public void positionCreatedOrUpdatedOrDeleted(String mapName, long timeStamp, PositionDTO position){ ! // TODO Auto-generated method stub } --- 444,448 ---- */ public void positionCreatedOrUpdatedOrDeleted(String mapName, long timeStamp, PositionDTO position){ ! // TODO Auto-generated method stub } *************** *** 464,468 **** */ public void reloadMap(){ ! // TODO Auto-generated method stub } --- 488,492 ---- */ public void reloadMap(){ ! // TODO Auto-generated method stub } *************** *** 472,496 **** */ public void closeMap(){ ! // TODO Auto-generated method stub } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createInfoObject(int, int, boolean, net.sf.magicmap.client.model.node.InfoObject, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createInfoObject(int x, int y, boolean fixed, InfoObject infoObject, String mapName, CreatePositionCallback callback) { ! // TODO Auto-generated method stub ! ! } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createRFIDAntenna(int, int, boolean, net.sf.magicmap.client.model.node.RFIDAntenna, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createRFIDAntenna(int x, int y, boolean fixed, RFIDAntenna antenna, String mapName, CreatePositionCallback callback) { ! // TODO Auto-generated method stub ! ! } } \ No newline at end of file --- 496,522 ---- */ public void closeMap(){ ! // TODO Auto-generated method stub } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createInfoObject(int, int, boolean, net.sf.magicmap.client.model.node.InfoObject, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createInfoObject(int x, int y, boolean fixed, InfoObject infoObject, String mapName, ! CreatePositionCallback callback){ ! // TODO Auto-generated method stub ! } ! ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createRFIDAntenna(int, int, boolean, net.sf.magicmap.client.model.node.RFIDAntenna, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createRFIDAntenna(int x, int y, boolean fixed, RFIDAntenna antenna, String mapName, ! CreatePositionCallback callback){ ! // TODO Auto-generated method stub ! ! } } \ No newline at end of file Index: Controller.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Controller.java 28 Feb 2006 11:23:16 -0000 1.11 --- Controller.java 2 Mar 2006 11:06:32 -0000 1.12 *************** *** 53,605 **** public class Controller { ! private static Controller controller = null; ! private NodeModel nodeModel; // Model für Graphen ! private MeasurementModel measurementModel; // Model für Messungen ! private MeasurementModel measurementModelOther; // Messungen anderen Clients / Orte ! private Handler handler; // Für Scannen ! private AbstractScanner scanner; // Scanner ! private ClientNode client; // Ausgezeichneter Knoten [...1035 lines suppressed...] + + public Collection getRfidAntennas(){ + return rfidAntennas; + } + + public Collection getRfidTags(){ + return rfidTags; + } + + public void addRfidTag(String id){ + long timestamp = System.currentTimeMillis(); + if (rfidTags.contains(id)){ + int index = rfidTags.indexOf(id); + ((RFIDTag) rfidTags.get(index)).setTimestamp(timestamp); + } else{ + rfidTags.add(new RFIDTag(id, timestamp)); + } + } } Index: PollHandler.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PollHandler.java 28 Feb 2006 11:23:16 -0000 1.7 --- PollHandler.java 2 Mar 2006 11:06:32 -0000 1.8 *************** *** 215,219 **** } ap.setId(position.getId().longValue()); ! // Nur Position von fixierten AccessPoints beachten if (position.isFixed()){ --- 215,219 ---- } ap.setId(position.getId().longValue()); ! ap.setHiddenStatus(apdto.isHidden()); // Nur Position von fixierten AccessPoints beachten if (position.isFixed()){ Index: ServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/ServerManager.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ServerManager.java 28 Feb 2006 11:23:16 -0000 1.12 --- ServerManager.java 2 Mar 2006 11:06:32 -0000 1.13 *************** *** 144,148 **** 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 --- 144,148 ---- 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 *************** *** 150,156 **** * @param callback */ ! public abstract void createGeoPos(final int x, final int y, final boolean fixed, final GeoPos geoPos, final String name, ! final CreatePositionCallback callback); ! /** * @param x --- 150,156 ---- * @param callback */ ! public abstract void createGeoPos(final int x, final int y, final boolean fixed, final GeoPos geoPos, ! final String name, final CreatePositionCallback callback); ! /** * @param x *************** *** 161,166 **** * @param callback */ ! public abstract void createInfoObject(final int x, final int y, final boolean fixed, final InfoObject infoObject, ! final String mapName, final CreatePositionCallback callback); /** --- 161,166 ---- * @param callback */ ! public abstract void createInfoObject(final int x, final int y, final boolean fixed, final InfoObject infoObject, ! final String mapName, final CreatePositionCallback callback); /** *************** *** 172,179 **** * @param callback */ ! public abstract void createRFIDAntenna(final int x, final int y, final boolean fixed, final RFIDAntenna antenna, ! final String mapName, final CreatePositionCallback callback); ! ! /** * Entfernt einen Referenzpunkt oder die Positionierung eines --- 172,178 ---- * @param callback */ ! public abstract void createRFIDAntenna(final int x, final int y, final boolean fixed, final RFIDAntenna antenna, ! final String mapName, final CreatePositionCallback callback); ! /** * Entfernt einen Referenzpunkt oder die Positionierung eines *************** *** 190,195 **** * @param callback */ ! public abstract void movePosition(final long positionId,final String mapname, final int x, final int y, final boolean fixed, ! final MovePositionCallback callback); /* --- 189,194 ---- * @param callback */ ! public abstract void movePosition(final long positionId, final String mapname, final int x, final int y, ! final boolean fixed, final MovePositionCallback callback); /* *************** *** 212,215 **** --- 211,225 ---- final String accessPointMac, final PositionCallback callback); + /** + * Setzt den Berechnungsstatus des Accesspoint + * @param sessionId + * @param mapName + * @param accessPointMac + * @param hidden + * @param callback + */ + public abstract void setAccessPointHiddenStatus(final String accessPointMac, final boolean hidden, + final PositionCallback callback); + public abstract void fetchPositionsFromServer(final FetchPositionsCallback callback); *************** *** 223,232 **** public abstract void submitClientInfo(); ! ! // /** ! // * Load new map ! // * @param info ! // */ ! // public abstract void loadMap(MapInfo info); } \ No newline at end of file --- 233,241 ---- public abstract void submitClientInfo(); ! // /** ! // * Load new map ! // * @param info ! // */ ! // public abstract void loadMap(MapInfo info); } \ No newline at end of file Index: SOAPServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SOAPServerManager.java 28 Feb 2006 11:23:16 -0000 1.8 --- SOAPServerManager.java 2 Mar 2006 11:06:32 -0000 1.9 *************** *** 162,169 **** try{ String[] names = SOAPServerManager.this.mapDelegate.getMapNames(); ! if (openDialog) { ! callback.openMapDialog(names); ! } else { ! callback.addMapNamesToOutline(names); } } catch (Exception e){ --- 162,169 ---- try{ String[] names = SOAPServerManager.this.mapDelegate.getMapNames(); ! if (openDialog){ ! callback.openMapDialog(names); ! } else{ ! callback.addMapNamesToOutline(names); } } catch (Exception e){ *************** *** 202,226 **** } } ! // /* (non-Javadoc) ! // * @see net.sf.magicmap.client.controller.ServerManager#loadMap(net.sf.magicmap.client.meta.MapInfo) ! // */ ! // @Override ! // public void loadMap(final MapInfo info) { ! // if (isConnected()){ ! // Thread loadMapThread = new Thread() { ! // ! // public void run() { ! // synchronized (mutex) { ! // try { ! // MainGUI.getInstance().loadMap(info); ! // } catch (Exception e){ ! // e.printStackTrace(); ! // } ! // } ! // } ! // }; ! // loadMapThread.start(); ! // } ! // } /** --- 202,227 ---- } } ! ! // /* (non-Javadoc) ! // * @see net.sf.magicmap.client.controller.ServerManager#loadMap(net.sf.magicmap.client.meta.MapInfo) ! // */ ! // @Override ! // public void loadMap(final MapInfo info) { ! // if (isConnected()){ ! // Thread loadMapThread = new Thread() { ! // ! // public void run() { ! // synchronized (mutex) { ! // try { ! // MainGUI.getInstance().loadMap(info); ! // } catch (Exception e){ ! // e.printStackTrace(); ! // } ! // } ! // } ! // }; ! // loadMapThread.start(); ! // } ! // } /** *************** *** 254,337 **** } ! /* (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 mapName, 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 createGeoPosThread = new Thread() { ! public void run(){ ! synchronized (mutex){ ! try { ! SOAPServerManager.this.mapDelegate.createGeoPoint( ! sessionId, mapName, x, y, geoPos.getLongitude(), ! geoPos.getLatitude(), geoPos.getAltitude()); ! // TODO: Zusätzliche Parameter zur Position ! callback.positionCreated(); ! } catch (Exception e){ ! callback.positionCreationError(e); ! } ! } ! } ! }; ! createGeoPosThread.start(); ! } ! } ! ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createInfoObject(int, int, boolean, net.sf.magicmap.client.model.node.InfoObject, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createInfoObject(final int x, final int y, final boolean fixed, final InfoObject infoObject, final String mapName, final CreatePositionCallback callback) { ! ! if (isConnected()) { ! ! Thread createInfoObjectThread = new Thread() { ! public void run() { ! synchronized(mutex) { ! try { ! SOAPServerManager.this.mapDelegate.createInfoObject ( ! sessionId, mapName, x, y, infoObject.getUrl(), infoObject.getType()); ! } catch (Exception e) { ! callback.positionCreationError(e); ! } ! } ! } ! }; ! createInfoObjectThread.start(); ! } ! ! } ! ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createRFIDAntenna(int, int, boolean, net.sf.magicmap.client.model.node.RFIDAntenna, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createRFIDAntenna(final int x, final int y, boolean fixed, final RFIDAntenna antenna, final String mapName, final CreatePositionCallback callback) { ! ! if (isConnected()) { ! Thread createRFIDAntennaThread = new Thread() { ! public void run() { ! synchronized(mutex) { ! try { ! SOAPServerManager.this.mapDelegate.createRFIDAntenna( ! sessionId, mapName, x, y, antenna.getURL()); ! } catch (Exception e) { ! callback.positionCreationError(e); ! } ! } ! } ! }; ! createRFIDAntennaThread.start(); ! } ! } ! /** --- 255,338 ---- } ! /* (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 mapName, ! 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 createGeoPosThread = new Thread() { ! public void run(){ ! synchronized (mutex){ ! try{ ! SOAPServerManager.this.mapDelegate.createGeoPoint(sessionId, mapName, x, y, geoPos.getLongitude(), geoPos ! .getLatitude(), geoPos.getAltitude()); ! // TODO: Zusätzliche Parameter zur Position ! callback.positionCreated(); ! } catch (Exception e){ ! callback.positionCreationError(e); ! } ! } ! } ! }; ! createGeoPosThread.start(); ! } ! } ! ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createInfoObject(int, int, boolean, net.sf.magicmap.client.model.node.InfoObject, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createInfoObject(final int x, final int y, final boolean fixed, final InfoObject infoObject, ! final String mapName, final CreatePositionCallback callback){ ! ! if (isConnected()){ ! ! Thread createInfoObjectThread = new Thread() { ! ! public void run(){ ! synchronized (mutex){ ! try{ ! SOAPServerManager.this.mapDelegate.createInfoObject(sessionId, mapName, x, y, infoObject.getUrl(), ! infoObject.getType()); ! } catch (Exception e){ ! callback.positionCreationError(e); ! } ! } ! } ! }; ! createInfoObjectThread.start(); ! } ! ! } ! ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#createRFIDAntenna(int, int, boolean, net.sf.magicmap.client.model.node.RFIDAntenna, java.lang.String, net.sf.magicmap.client.interfaces.CreatePositionCallback) ! */ ! @Override ! public void createRFIDAntenna(final int x, final int y, boolean fixed, final RFIDAntenna antenna, ! final String mapName, final CreatePositionCallback callback){ ! ! if (isConnected()){ ! Thread createRFIDAntennaThread = new Thread() { ! ! public void run(){ ! synchronized (mutex){ ! try{ ! SOAPServerManager.this.mapDelegate.createRFIDAntenna(sessionId, mapName, x, y, antenna.getURL()); ! } catch (Exception e){ ! callback.positionCreationError(e); ! } ! } ! } ! }; ! createRFIDAntennaThread.start(); ! } ! } /** *************** *** 368,372 **** * @param callback */ ! public void movePosition(final long positionId,final String mapname, final int x, final int y, final boolean fixed, final MovePositionCallback callback){ if (isConnected()){ --- 369,373 ---- * @param callback */ ! public void movePosition(final long positionId, final String mapname, final int x, final int y, final boolean fixed, final MovePositionCallback callback){ if (isConnected()){ *************** *** 456,541 **** } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#fetchPositionsFromServer(net.sf.magicmap.client.interfaces.FetchPositionsCallback) ! */ ! public void fetchPositionsFromServer(final FetchPositionsCallback callback) { ! if (isConnected()) { ! Thread fetchPositionsThread = new Thread() { ! public void run() { ! synchronized (mutex) { ! // retrieve and communicate common positions (WLAN, i.e. APs, clients,...) ! try { ! ! PositionDTO[] positions = SOAPServerManager.this.positionDelgate.getPositionsForMapSince( ! SOAPServerManager.this.sessionId, controller.getCurrentMap().name, SOAPServerManager.this.timestamp); // korrigierter fehler? SOAPServerManager.this.timestamp anstatt timestamp ! for (int i = 0; i < positions.length; i++){ ! if (positions[i].getLastModified().longValue() > SOAPServerManager.this.timestamp){ ! SOAPServerManager.this.timestamp = positions[i].getLastModified().longValue(); ! } ! } ! callback.positionsFetched(positions); ! ! ! //TODO: retrieve maps ! ! //TODO: retrieve info objects ! ! //TODO: retrieve RFID antennas ! ! // geoPoses.toString(); ! // callback.geoPointsFetched(geoPoses); ! ! } catch (Exception e){ ! callback.positionFetchError(e); ! } ! ! // retrieve other positions (e.g. geopoints, infoobjects, rfid antennas) ! try { ! // retrieve maps ! String[] names = SOAPServerManager.this.mapDelegate.getMapNames(); ! MapDTO[] mapDTOs = new MapDTO[names.length]; ! for (int i=0; i<names.length; i++) { ! mapDTOs[i] = SOAPServerManager.this.mapDelegate.getMap(names[i]); ! } ! callback.mapsFetched(mapDTOs); ! ! // retrieve geo points ! GeoPointDTO[] geoPoses = SOAPServerManager.this.mapDelegate.getGeoPointsForMap( ! SOAPServerManager.this.sessionId, controller.getCurrentMap().name); ! if (geoPoses != null) { ! callback.geoPointsFetches(geoPoses); ! } ! ! // retrieve info points ! Collection infoObjects = Controller.getInstance().getInfoObjects(); ! if (infoObjects != null && infoObjects.size() > 0) { ! callback.infoPointsFetched(infoObjects); ! } ! ! // retrieve RFID antennas ! Collection rfidAntennas = Controller.getInstance().getRfidAntennas(); ! if (rfidAntennas != null && rfidAntennas.size() > 0) { ! callback.rfidAntennasFetched(rfidAntennas); ! } ! ! // retrieve RFID tags ! Collection rfidTags = Controller.getInstance().getRfidTags(); ! if (rfidTags != null && rfidTags.size() > 0) { ! callback.rfidTagsFetched(rfidTags); ! } ! ! ! } catch (Exception e) { ! callback.positionFetchError(e); ! } ! } ! } ! }; ! fetchPositionsThread.start(); ! } ! } ! /* (non-Javadoc) --- 457,564 ---- } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#setAccessPointHiddenStatus(long, java.lang.String, java.lang.String, boolean, net.sf.magicmap.client.interfaces.PositionCallback) ! */ ! @Override ! public void setAccessPointHiddenStatus(final String accessPointMac, final boolean hidden, ! final PositionCallback callback){ ! if (isConnected()){ ! Thread positionThread = new Thread() { ! public void run(){ ! synchronized (mutex){ ! try{ ! SOAPServerManager.this.positionDelgate.setAccessPointHiddenStatus(sessionId, ! controller.getCurrentMap().name, accessPointMac, hidden); ! callback.positionUpdated(accessPointMac); ! } catch (Exception e){ ! callback.positionError(e); ! } ! } ! } ! }; ! positionThread.start(); ! } ! } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.controller.ServerManager#fetchPositionsFromServer(net.sf.magicmap.client.interfaces.FetchPositionsCallback) ! */ ! public void fetchPositionsFromServer(final FetchPositionsCallback callback){ ! if (isConnected()){ ! Thread fetchPositionsThread = new Thread() { ! ! public void run(){ ! synchronized (mutex){ ! // retrieve and communicate common positions (WLAN, i.e. APs, clients,...) ! try{ ! ! PositionDTO[] positions = SOAPServerManager.this.positionDelgate.getPositionsForMapSince( ! SOAPServerManager.this.sessionId, controller.getCurrentMap().name, SOAPServerManager.this.timestamp); // korrigierter fehler? SOAPServerManager.this.timestamp anstatt timestamp ! for (int i = 0; i < positions.length; i++){ ! if (positions[i].getLastModified().longValue() > SOAPServerManager.this.timestamp){ ! SOAPServerManager.this.timestamp = positions[i].getLastModified().longValue(); ! } ! } ! ! callback.positionsFetched(positions); ! ! //TODO: retrieve maps ! ! //TODO: retrieve info objects ! ! //TODO: retrieve RFID antennas ! ! // geoPoses.toString(); ! // callback.geoPointsFetched(geoPoses); ! ! } catch (Exception e){ ! callback.positionFetchError(e); ! } ! ! // retrieve other positions (e.g. geopoints, infoobjects, rfid antennas) ! try{ ! // retrieve maps ! String[] names = SOAPServerManager.this.mapDelegate.getMapNames(); ! MapDTO[] mapDTOs = new MapDTO[names.length]; ! for (int i = 0; i < names.length; i++){ ! mapDTOs[i] = SOAPServerManager.this.mapDelegate.getMap(names[i]); ! } ! callback.mapsFetched(mapDTOs); ! ! // retrieve geo points ! GeoPointDTO[] geoPoses = SOAPServerManager.this.mapDelegate.getGeoPointsForMap( ! SOAPServerManager.this.sessionId, controller.getCurrentMap().name); ! if (geoPoses != null){ ! callback.geoPointsFetches(geoPoses); ! } ! ! // retrieve info points ! Collection infoObjects = Controller.getInstance().getInfoObjects(); ! if (infoObjects != null && infoObjects.size() > 0){ ! callback.infoPointsFetched(infoObjects); ! } ! ! // retrieve RFID antennas ! Collection rfidAntennas = Controller.getInstance().getRfidAntennas(); ! if (rfidAntennas != null && rfidAntennas.size() > 0){ ! callback.rfidAntennasFetched(rfidAntennas); ! } ! ! // retrieve RFID tags ! Collection rfidTags = Controller.getInstance().getRfidTags(); ! if (rfidTags != null && rfidTags.size() > 0){ ! callback.rfidTagsFetched(rfidTags); ! } ! ! } catch (Exception e){ ! callback.positionFetchError(e); ! } ! } ! } ! }; ! fetchPositionsThread.start(); ! } ! } /* (non-Javadoc) *************** *** 607,611 **** } - - } \ No newline at end of file --- 630,632 ---- |