From: Johannes Z. <jza...@us...> - 2006-02-20 08:49:22
|
Update of /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13367/src/net/sf/magicmap/client/controller Modified Files: VirtualServerManager.java Controller.java ServerManager.java SOAPServerManager.java Log Message: Changes to show maps in the outline view tree Refactorings Index: VirtualServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** VirtualServerManager.java 8 Nov 2005 11:24:19 -0000 1.4 --- VirtualServerManager.java 20 Feb 2006 08:49:14 -0000 1.5 *************** *** 147,151 **** * @see net.sf.magicmap.client.controller.ServerManager#retrieveMapNames(net.sf.magicmap.client.interfaces.MapNamesCallback) */ ! public void retrieveMapNames(final MapNamesCallback callback){ if (!isConnected()) return; Thread thread = new Thread() { --- 147,151 ---- * @see net.sf.magicmap.client.controller.ServerManager#retrieveMapNames(net.sf.magicmap.client.interfaces.MapNamesCallback) */ ! public void retrieveMapNames(final MapNamesCallback callback, final boolean openDialog){ if (!isConnected()) return; Thread thread = new Thread() { *************** *** 163,168 **** } String[] names = (String[]) result.toArray(new String[0]); ! ! callback.mapNamesReceived(names); } catch (Exception e){ e.printStackTrace(); --- 163,172 ---- } String[] names = (String[]) result.toArray(new String[0]); ! ! if (openDialog) { ! callback.openMapDialog(names); ! } else { ! callback.addMapNamesToOutline(names); ! } } catch (Exception e){ e.printStackTrace(); Index: Controller.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Controller.java 8 Nov 2005 11:24:19 -0000 1.7 --- Controller.java 20 Feb 2006 08:49:14 -0000 1.8 *************** *** 11,15 **** import java.util.ArrayList; - import net.sf.magicmap.client.gui.utils.CallbackHandler; import net.sf.magicmap.client.interfaces.CreateNewMapCallback; import net.sf.magicmap.client.interfaces.CreatePositionCallback; --- 11,14 ---- *************** *** 48,398 **** 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 ! private ServerPoller poller; // Server ständig nach Änderungen fragen ! private PollHandler pollhandler; // Klasse zur Verarbeitung der Pollergebnisse ! private ServerManager serverManager; // Manager für die Verbindung zum Server ! private CallbackHandler callbackHandler; // Sämtliche callbacks werden dort behandelt ! private String clientMac; ! private MapInfo currentMap; ! private OutlineView outlineView; ! private ConsoleView consoleView; ! private MapView mapView; ! private MeasurementView measurementView; ! private boolean invisble; // Insible-Modus (keine Daten an Server) ! private Controller() { ! this.nodeModel = new NodeModel(); ! this.measurementModel = new MeasurementModel(); ! this.measurementModelOther = new MeasurementModel(); ! this.client = new ClientNode(nodeModel); ! try{ ! client.setName(InetAddress.getLocalHost().getHostName()); ! } catch (UnknownHostException e){ ! client.setName("invalidhostname"); ! } ! this.nodeModel.addNode(client); ! this.handler = new Handler(measurementModel, nodeModel, client); ! this.scanner = null; ! this.currentMap = null; ! this.serverManager = null; ! this.pollhandler = new PollHandler(this); ! this.callbackHandler = new CallbackHandler(); ! try{ ! this.clientMac = NetworkInfo.getMacAddress(); ! } catch (IOException e1){ ! this.clientMac = "00:00:00:00:00:00"; ! } ! clientMac = clientMac.replace(':', '-'); ! clientMac.toUpperCase().trim(); ! client.setMacAddress(clientMac); ! Settings.setClientName(client.getDisplayName()); ! Settings.setClientMAC(clientMac); ! buildViews(); ! initializeScanner(); ! } ! public ClientNode getClient(){ ! return this.client; ! } ! /** ! * Erzeugt die Hauptviews der Anwendung ! * ! */ ! private void buildViews(){ ! this.outlineView = new OutlineView(); ! this.consoleView = new ConsoleView(); ! this.mapView = new MapView(); ! this.measurementView = new MeasurementView(); ! //registerMeasurementModelListener(measurementView); ! setMeasurementViewLocal(true); ! registerNodeModelListener(mapView); ! registerNodeModelListener(outlineView); ! } ! private void initializeScanner(){ ! if (scanner == null){ ! this.scanner = new UDPScanner(2446); ! this.scanner.addScannerListener(handler); ! } ! } ! public MapView getMapView(){ ! return this.mapView; ! } ! public OutlineView getOutlineView(){ ! return this.outlineView; ! } ! public ConsoleView getConsoleView(){ ! return this.consoleView; ! } ! public MeasurementView getMeasurementView(){ ! return this.measurementView; ! } ! public static Controller getInstance(){ ! if (controller == null){ ! controller = new Controller(); ! } ! return controller; ! } ! public NodeModel getNodeModel(){ ! return nodeModel; ! } ! public void registerNodeModelListener(NodeModelListener listener){ ! nodeModel.addNodeModelListener(listener); ! } ! public void unregisterNodeModelListener(NodeModelListener listener){ ! nodeModel.removeNodeModelListener(listener); ! } ! public void registerMeasurementModelListener(MeasurementModelListener listener){ ! measurementModel.addMeasurementModelListener(listener); ! } ! public void unregisterMeasurementModelListener(MeasurementModelListener listener){ ! measurementModel.removeMeasurementModelListener(listener); ! } - /** - * Baut das MeasurementModelOther neu auf. - * @param ap - */ - public void buildOtherMeasurement(AccessPointSeerNode ap){ - System.out.println("Building measurement model..."); - this.measurementModelOther.clear(); - ArrayList aes = ap.getApEdges(); - for (int i = 0; i < aes.size(); i++){ - AccessPointEdge ae = (AccessPointEdge) aes.get(i); - SeenAccessPoint sp = new SeenAccessPoint(ae.getAccessPoint().getMacAddress(), ae.getSignalLevel()); - this.measurementModelOther.addAccessPoint(sp); - } - } ! /** ! * Änndert die Anzeige des Measurement-Views ! * @param local true, wenn lokale Stärken angezeigt werden sollen ! */ ! public void setMeasurementViewLocal(boolean local){ ! if (local){ ! measurementModelOther.removeMeasurementModelListener(measurementView); ! measurementModel.addMeasurementModelListener(measurementView); ! measurementModel.clear(); ! } else{ ! measurementModel.removeMeasurementModelListener(measurementView); ! measurementModelOther.addMeasurementModelListener(measurementView); ! measurementModelOther.clear(); ! } ! } - public MeasurementModel getMeasurementModel(){ - return measurementModel; - } ! /** ! * Gibt an ob verbunden oder nicht verbunden ! * @return true wenn ja, false sonst ! */ ! public boolean isConnected(){ ! return (serverManager != null && serverManager.isConnected()); ! } ! /** ! * Liefert Kartenbeschreibung der aktuell geladenen Karte ! * @return Kartenbeschreibung (MapInfo) oder null, wenn keine Karte aktiv ! */ ! public MapInfo getCurrentMap(){ ! return this.currentMap; ! } ! /** ! * Setzt aktuelle Karte und startet dabei das ServerPolling ! * @param map ! */ ! public void setCurrentMap(MapInfo map){ ! if (isMapLoaded()){ ! closeMap(); ! } ! this.currentMap = map; ! try{ ! serverManager.reloadMap(); ! this.mapView.loadMap(map); ! } catch (MalformedURLException e){ ! System.out.println("Map loading failed." + e.getMessage()); ! closeMap(); ! } ! if (isMapLoaded() && isConnected()){ ! registerNodeModelListener(mapView); ! serverManager.resetTimestamp(); ! setMeasurementViewLocal(true); ! poller.start(); ! initializeScanner(); // Scanner neu initialisieren ! scanner.start(); ! } ! } ! public void restartServerPoller(){ if (isMapLoaded() && isConnected()){ ! poller.stop(); ! poller.start(); } ! } ! public boolean isMapLoaded(){ ! return currentMap != null; ! } ! /** ! * Schließt Karte und beendet Polling vom Server ! * ! */ ! public void closeMap(){ ! scanner.terminate(); ! scanner = null; ! try{ ! Thread.sleep(1000); ! } catch (InterruptedException e1){ ! // TODO Auto-generated catch block ! e1.printStackTrace(); ! } ! this.currentMap = null; ! this.mapView.unloadMap(); ! serverManager.closeMap(); ! poller.stop(); ! nodeModel.clear(); ! unregisterNodeModelListener(mapView); ! nodeModel.addNode(client); ! } ! /** ! * Liefert eigene Mac-Adresse vom Client. ! * @return ! */ ! public String getClientMac(){ ! return clientMac; ! } ! /** ! * Liefert X-Position des Clients auf der Karte ! * @return ! */ ! public int getClientPosX(){ ! return mapView.getX(client); ! } ! /** ! * Liefert Y-Position des Clients auf der Karte ! * @return ! */ ! public int getClientPosY(){ ! return mapView.getY(client); ! } ! public boolean isInvisible(){ ! return this.invisble; ! } ! public void setInvisible(boolean value){ ! this.invisble = value; ! } ! /********************************************************************** ! * ! * API für die GUI ! * ! **********************************************************************/ ! public void connect(ServerConnectCallback callback){ ! if (Settings.isUseNoServer()){ ! serverManager = new VirtualServerManager(this); ! } else{ ! serverManager = new SOAPServerManager(this); ! } ! // Poller erzeugen (benötigt ServerManager) ! this.poller = new ServerPoller(serverManager, pollhandler); ! serverManager.connect(callback); ! } ! public void disconnect(ServerDisconnectCallback callback){ ! serverManager.disconnect(callback); ! } ! /** ! * Erzeugt einen Referenzpunkt auf der aktuellen Karte mit den aktuellen ! * Messwerten des Clients mit den angegebenen Koordinaten. ! * ! */ ! public void createLocation(int x, int y, String name, boolean fixed, CreatePositionCallback callback){ ! if (!isConnected() || !isMapLoaded()){ ! callback.positionCreationError(new Exception("Nicht verbunden oder keine Karte geladen.")); ! } else{ ! serverManager.createLocation(x, y, fixed, name, callback); ! ! } ! } ! /** ! * Entfernt einen ! * @param node ! */ ! public void deletePosition(String name, String mapname, DeletePositionCallback callback){ ! Node node = nodeModel.findNode(name); ! if (node != null){ ! if (node.getId() != -1){ ! serverManager.deletePosition(node.getId(), Controller.getInstance().getCurrentMap().name, callback); ! } else{ ! System.out.println("Node has no positionId, so its position cannot be deleted."); ! } ! } ! } ! public void setClientPosition(final int x, final int y, final boolean fixed, final String clientMac, ! final PositionCallback callback){ ! serverManager.setClientPosition(x, y, fixed, clientMac, callback); ! } ! public void setAccessPointPosition(final int x, final int y, boolean fixed, final String accessPointMac, ! final PositionCallback callback){ ! serverManager.setAccessPointPosition(x, y, fixed, accessPointMac, callback); ! } ! public void movePosition(final long positionId, final String mapname, final int x, final int y, boolean fixed, ! final MovePositionCallback callback){ ! serverManager.movePosition(positionId, mapname,x, y, fixed, callback); ! } ! /** ! * Holt Karte vom Server. Ergebnis via Callback ! * @param name ! * @param callback ! */ ! public void retrieveMap(String name, MapCallback callback){ ! serverManager.retrieveMap(name, callback); ! } ! public void retrieveMapNames(MapNamesCallback callback){ ! serverManager.retrieveMapNames(callback); ! } ! public void createNewMap(final String name, final String URL, final int width, final int height, ! final CreateNewMapCallback callback){ ! serverManager.createNewMap(name, URL, width, height, callback); ! } ! } \ No newline at end of file --- 47,508 ---- 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 ! private ServerPoller poller; // Server ständig nach Änderungen fragen ! private PollHandler pollhandler; // Klasse zur Verarbeitung der Pollergebnisse ! private ServerManager serverManager; // Manager für die Verbindung zum Server ! // private CallbackHandler callbackHandler; // Sämtliche callbacks werden dort behandelt ! ! private String clientMac; ! private MapInfo currentMap; ! ! private OutlineView outlineView; ! private ConsoleView consoleView; ! private MapView mapView; ! private MeasurementView measurementView; ! private boolean invisble; // Insible-Modus (keine Daten an Server) ! /** ! * Private constructor for singleton instance ! */ ! private Controller() { ! this.nodeModel = new NodeModel(); ! this.measurementModel = new MeasurementModel(); ! this.measurementModelOther = new MeasurementModel(); ! this.client = new ClientNode(nodeModel); ! try{ ! client.setName(InetAddress.getLocalHost().getHostName()); ! } catch (UnknownHostException e){ ! client.setName("invalidhostname"); ! } ! this.nodeModel.addNode(client); ! this.handler = new Handler(measurementModel, nodeModel, client); ! this.scanner = null; ! this.currentMap = null; ! this.serverManager = null; ! this.pollhandler = new PollHandler(this); ! // this.callbackHandler = new CallbackHandler(); ! try { ! this.clientMac = NetworkInfo.getMacAddress(); ! } catch (IOException e1){ ! this.clientMac = "00:00:00:00:00:00"; ! } ! clientMac = clientMac.replace(':', '-'); ! clientMac.toUpperCase().trim(); ! client.setMacAddress(clientMac); ! Settings.setClientName(client.getDisplayName()); ! Settings.setClientMAC(clientMac); ! buildViews(); ! initializeScanner(); ! } ! ! /** ! * Getter for client node ! * @return the client node ! */ ! public ClientNode getClient(){ ! return this.client; ! } ! ! /** ! * Erzeugt die Hauptviews der Anwendung ! */ ! private void buildViews(){ ! this.outlineView = new OutlineView(); ! this.consoleView = new ConsoleView(); ! this.mapView = new MapView(); ! this.measurementView = new MeasurementView(); ! //registerMeasurementModelListener(measurementView); ! setMeasurementViewLocal(true); ! registerNodeModelListener(mapView); ! registerNodeModelListener(outlineView); ! } ! ! /** ! * Initialize the scanner ! */ ! private void initializeScanner(){ ! if (scanner == null) { ! this.scanner = new UDPScanner(2446); ! this.scanner.addScannerListener(handler); ! } ! } ! ! /** ! * Getter for the map view ! * @return the map view ! */ ! public MapView getMapView(){ ! return this.mapView; ! } ! ! /** ! * Getter for the outline view ! * @return the outline view ! */ ! public OutlineView getOutlineView(){ ! return this.outlineView; ! } ! ! /** ! * Getter for the console view ! * @return the console view ! */ ! public ConsoleView getConsoleView(){ ! return this.consoleView; ! } ! ! /** ! * Getter for the measurement view ! * @return the measurement view ! */ ! public MeasurementView getMeasurementView(){ ! return this.measurementView; ! } ! ! /** ! * Provides the singleton controller instance (creates a new one if null) ! * @return the singleton controller instance ! */ ! public static Controller getInstance(){ ! if (controller == null){ ! controller = new Controller(); ! } ! return controller; ! } ! ! /** ! * Getter for the node model ! * @return the node model ! */ ! public NodeModel getNodeModel(){ ! return nodeModel; ! } ! ! /** ! * Register the node model listener ! * @param listener - the node model listener ! */ ! public void registerNodeModelListener(NodeModelListener listener){ ! nodeModel.addNodeModelListener(listener); ! } ! ! /** ! * Unregister the node model listener ! * @param listener - the node model listener ! */ ! public void unregisterNodeModelListener(NodeModelListener listener){ ! nodeModel.removeNodeModelListener(listener); ! } ! ! /** ! * Register the measurement model listener ! * @param listener the measurement model listener ! */ ! public void registerMeasurementModelListener(MeasurementModelListener listener){ ! measurementModel.addMeasurementModelListener(listener); ! } ! ! /** ! * Unregister the measurement model listener ! * @param listener - the measurement model listener ! */ ! public void unregisterMeasurementModelListener(MeasurementModelListener listener){ ! measurementModel.removeMeasurementModelListener(listener); ! } ! ! /** ! * Baut das MeasurementModelOther neu auf. ! * @param ap - the access point seer node ! */ ! public void buildOtherMeasurement(AccessPointSeerNode ap) { ! System.out.println("Building measurement model..."); ! this.measurementModelOther.clear(); ! ArrayList aes = ap.getApEdges(); ! for (int i = 0; i < aes.size(); i++){ ! AccessPointEdge ae = (AccessPointEdge) aes.get(i); ! SeenAccessPoint sp = new SeenAccessPoint(ae.getAccessPoint().getMacAddress(), ae.getSignalLevel()); ! this.measurementModelOther.addAccessPoint(sp); ! } ! } ! ! /** ! * Änndert die Anzeige des Measurement-Views ! * @param local true, wenn lokale Stärken angezeigt werden sollen ! */ ! public void setMeasurementViewLocal(boolean local) { ! if (local) { ! measurementModelOther.removeMeasurementModelListener(measurementView); ! measurementModel.addMeasurementModelListener(measurementView); ! measurementModel.clear(); ! } else{ ! measurementModel.removeMeasurementModelListener(measurementView); ! measurementModelOther.addMeasurementModelListener(measurementView); ! measurementModelOther.clear(); ! } ! } ! /** ! * Getter for measurement model ! * @return the measurement model ! */ ! public MeasurementModel getMeasurementModel(){ ! return measurementModel; ! } ! /** ! * Gibt an ob verbunden oder nicht verbunden ! * @return true wenn ja, false sonst ! */ ! public boolean isConnected() { ! return (serverManager != null && serverManager.isConnected()); ! } ! ! /** ! * Liefert Kartenbeschreibung der aktuell geladenen Karte ! * @return Kartenbeschreibung (MapInfo) oder null, wenn keine Karte aktiv ! */ ! public MapInfo getCurrentMap() { ! return this.currentMap; ! } ! ! /** ! * Setzt aktuelle Karte und startet dabei das ServerPolling ! * @param map ! */ ! public void setCurrentMap(MapInfo map) { ! if (isMapLoaded()) { ! closeMap(); ! } ! this.currentMap = map; ! try { ! serverManager.reloadMap(); ! this.mapView.loadMap(map); ! } catch (MalformedURLException e){ ! System.out.println("Map loading failed." + e.getMessage()); ! closeMap(); ! } ! if (isMapLoaded() && isConnected()) { ! registerNodeModelListener(mapView); ! serverManager.resetTimestamp(); ! setMeasurementViewLocal(true); ! poller.start(); ! initializeScanner(); // Scanner neu initialisieren ! scanner.start(); ! } ! } ! ! /** ! * Restart server poller ! */ ! public void restartServerPoller(){ if (isMapLoaded() && isConnected()){ ! poller.stop(); ! poller.start(); } ! } ! ! /** ! * Check whether map is loaded ! * @return <code>true</code> if map loaded, <code>false</code> else ! */ ! public boolean isMapLoaded(){ ! return currentMap != null; ! } ! ! /** ! * Schließt Karte und beendet Polling vom Server ! * ! */ ! public void closeMap() { ! scanner.terminate(); ! scanner = null; ! try { ! Thread.sleep(1000); ! } catch (InterruptedException e1){ ! // TODO Auto-generated catch block ! e1.printStackTrace(); ! } ! this.currentMap = null; ! this.mapView.unloadMap(); ! serverManager.closeMap(); ! poller.stop(); ! nodeModel.clear(); ! unregisterNodeModelListener(mapView); ! nodeModel.addNode(client); ! } ! ! /** ! * Liefert eigene Mac-Adresse vom Client. ! * @return client mac address ! */ ! public String getClientMac(){ ! return clientMac; ! } ! ! /** ! * Liefert X-Position des Clients auf der Karte ! * @return client x position ! */ ! public int getClientPosX(){ ! return mapView.getX(client); ! } ! ! /** ! * Liefert Y-Position des Clients auf der Karte ! * @return ! */ ! public int getClientPosY(){ ! return mapView.getY(client); ! } ! ! /** ! * Check for invisibility ! * @return <code>true</code> if invisible, <code>false</code> else ! */ ! public boolean isInvisible(){ ! return this.invisble; ! } ! ! /** ! * Setter for invisibility ! * @param value - boolean value for invisibility ! */ ! public void setInvisible(boolean value){ ! this.invisble = value; ! } ! ! ! /********************************************************************** ! * ! * API für die GUI ! * ! **********************************************************************/ ! ! public void connect(ServerConnectCallback callback){ ! if (Settings.isUseNoServer()){ ! serverManager = new VirtualServerManager(this); ! } else{ ! serverManager = new SOAPServerManager(this); ! } ! // Poller erzeugen (benötigt ServerManager) ! this.poller = new ServerPoller(serverManager, pollhandler); ! serverManager.connect(callback); ! } ! ! ! public void disconnect(ServerDisconnectCallback callback){ ! serverManager.disconnect(callback); ! } ! ! /** ! * Erzeugt einen Referenzpunkt auf der aktuellen Karte mit den aktuellen ! * Messwerten des Clients mit den angegebenen Koordinaten. ! */ ! public void createLocation(int x, int y, String name, boolean fixed, CreatePositionCallback callback){ ! if (!isConnected() || !isMapLoaded()) { ! callback.positionCreationError(new Exception("Nicht verbunden oder keine Karte geladen.")); ! } else{ ! serverManager.createLocation(x, y, fixed, name, callback); ! } ! } ! ! /** ! * Entfernt einen ! * @param node ! */ ! public void deletePosition(String name, String mapname, DeletePositionCallback callback){ ! Node node = nodeModel.findNode(name); ! if (node != null) { ! if (node.getId() != -1){ ! serverManager.deletePosition(node.getId(), Controller.getInstance().getCurrentMap().name, callback); ! } else{ ! System.out.println("Node has no positionId, so its position cannot be deleted."); ! } ! } ! } ! ! ! public void setClientPosition(final int x, final int y, final boolean fixed, final String clientMac, ! final PositionCallback callback) { ! ! serverManager.setClientPosition(x, y, fixed, clientMac, callback); ! } ! ! public void setAccessPointPosition(final int x, final int y, boolean fixed, final String accessPointMac, ! final PositionCallback callback) { ! ! serverManager.setAccessPointPosition(x, y, fixed, accessPointMac, callback); ! } ! ! public void movePosition(final long positionId, final String mapname, final int x, final int y, boolean fixed, ! final MovePositionCallback callback) { ! ! serverManager.movePosition(positionId, mapname,x, y, fixed, callback); ! } ! ! /** ! * Holt Karte vom Server. Ergebnis via Callback ! * @param name ! * @param callback ! */ ! public void retrieveMap(String name, MapCallback callback) { ! serverManager.retrieveMap(name, callback); ! } ! ! public void retrieveMapNames(MapNamesCallback callback, boolean openMapDialog){ ! serverManager.retrieveMapNames(callback, openMapDialog); ! } ! ! public void createNewMap(final String name, final String URL, final int width, final int height, ! final CreateNewMapCallback callback) { ! ! serverManager.createNewMap(name, URL, width, height, callback); ! } ! } Index: ServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/ServerManager.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ServerManager.java 8 Nov 2005 11:24:19 -0000 1.8 --- ServerManager.java 20 Feb 2006 08:49:14 -0000 1.9 *************** *** 124,128 **** * um die Kartennamen bzw. die */ ! public abstract void retrieveMapNames(final MapNamesCallback callback); /** --- 124,128 ---- * um die Kartennamen bzw. die */ ! public abstract void retrieveMapNames(final MapNamesCallback callback, boolean openDialog); /** Index: SOAPServerManager.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SOAPServerManager.java 8 Nov 2005 11:24:19 -0000 1.4 --- SOAPServerManager.java 20 Feb 2006 08:49:14 -0000 1.5 *************** *** 149,153 **** * um die Kartennamen bzw. die */ ! public void retrieveMapNames(final MapNamesCallback callback){ if (isConnected()){ Thread getMapNamesThread = new Thread() { --- 149,153 ---- * um die Kartennamen bzw. die */ ! public void retrieveMapNames(final MapNamesCallback callback, final boolean openDialog){ if (isConnected()){ Thread getMapNamesThread = new Thread() { *************** *** 157,161 **** try{ String[] names = SOAPServerManager.this.mapDelegate.getMapNames(); ! callback.mapNamesReceived(names); } catch (Exception e){ e.printStackTrace(); --- 157,165 ---- try{ String[] names = SOAPServerManager.this.mapDelegate.getMapNames(); ! if (openDialog) { ! callback.openMapDialog(names); ! } else { ! callback.addMapNamesToOutline(names); ! } } catch (Exception e){ e.printStackTrace(); |