|
From: <jan...@us...> - 2008-01-21 23:17:59
|
Revision: 717
http://magicmap.svn.sourceforge.net/magicmap/?rev=717&view=rev
Author: jan_fride
Date: 2008-01-21 15:17:30 -0800 (Mon, 21 Jan 2008)
Log Message:
-----------
* Added Genric Collection lib (hopefully to eclipse?)
* Fixed Bug in NodeKeyFunction. (Some funtionality is still missing)
Modified Paths:
--------------
trunk/magicmapclient/.classpath
trunk/magicmapclient/src/net/sf/magicmap/core/model/node/NodeKeyFunction.java
Added Paths:
-----------
trunk/magicmapclient/lib/collections-generic-4.01.jar
Modified: trunk/magicmapclient/.classpath
===================================================================
--- trunk/magicmapclient/.classpath 2008-01-21 22:18:23 UTC (rev 716)
+++ trunk/magicmapclient/.classpath 2008-01-21 23:17:30 UTC (rev 717)
@@ -36,5 +36,6 @@
<classpathentry kind="lib" path="lib/nekohtml.jar"/>
<classpathentry kind="lib" path="lib-dev/junit.jar"/>
<classpathentry kind="lib" path="lib/looks-2.1.4.jar"/>
- <classpathentry kind="output" path="bin"/>
+ <classpathentry kind="lib" path="lib/collections-generic-4.01.jar"/>
+ <classpathentry kind="output" path="bin"/>
</classpath>
Added: trunk/magicmapclient/lib/collections-generic-4.01.jar
===================================================================
(Binary files differ)
Property changes on: trunk/magicmapclient/lib/collections-generic-4.01.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/magicmapclient/src/net/sf/magicmap/core/model/node/NodeKeyFunction.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/core/model/node/NodeKeyFunction.java 2008-01-21 22:18:23 UTC (rev 716)
+++ trunk/magicmapclient/src/net/sf/magicmap/core/model/node/NodeKeyFunction.java 2008-01-21 23:17:30 UTC (rev 717)
@@ -25,5 +25,5 @@
* @param node the node to create a key for.
* @return
*/
- K key(INode node);
+ K key(N node);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <an...@us...> - 2008-01-28 14:01:48
|
Revision: 718
http://magicmap.svn.sourceforge.net/magicmap/?rev=718&view=rev
Author: anweiss
Date: 2008-01-28 05:18:41 -0800 (Mon, 28 Jan 2008)
Log Message:
-----------
added hashmap with attributes for every node that can be stored on the server
Modified Paths:
--------------
trunk/magicmapclient/.project
trunk/magicmapclient/.settings/org.eclipse.jdt.core.prefs
trunk/magicmapclient/.settings/org.eclipse.jdt.ui.prefs
trunk/magicmapclient/inf/PositionFacade.wsdl
trunk/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java
trunk/magicmapclient/src/net/sf/magicmap/client/controller/IController.java
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/ServerManager.java
trunk/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java
trunk/magicmapclient/src/net/sf/magicmap/client/delegate/PositionDelegate.java
trunk/magicmapclient/src/net/sf/magicmap/client/delegate/interfaces/PositionFacadeInterface.java
trunk/magicmapclient/src/net/sf/magicmap/client/gui/MapPanel.java
trunk/magicmapclient/src/net/sf/magicmap/client/gui/dialogs/LoadMapDialog.java
trunk/magicmapclient/src/net/sf/magicmap/client/gui/utils/GUIUtils.java
trunk/magicmapclient/src/net/sf/magicmap/client/model/measurement/IMeasurementModel.java
trunk/magicmapclient/src/net/sf/magicmap/client/model/node/AccessPointSeerNode.java
trunk/magicmapclient/src/net/sf/magicmap/client/model/node/Node.java
trunk/magicmapclient/src/net/sf/magicmap/client/model/node/NodeModel.java
trunk/magicmapclient/src/net/sf/magicmap/client/net/NetworkInfo.java
trunk/magicmapclient/src/net/sf/magicmap/client/utils/DriverInformations.java
Modified: trunk/magicmapclient/.project
===================================================================
--- trunk/magicmapclient/.project 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/.project 2008-01-28 13:18:41 UTC (rev 718)
@@ -11,10 +11,16 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsensis.installoptions.InstallOptionsBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
+ <nature>net.sf.eclipsensis.installoptions.InstallOptionsNature</nature>
</natures>
</projectDescription>
Modified: trunk/magicmapclient/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/magicmapclient/.settings/org.eclipse.jdt.core.prefs 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/.settings/org.eclipse.jdt.core.prefs 2008-01-28 13:18:41 UTC (rev 718)
@@ -1,4 +1,4 @@
-#Mon Sep 04 16:13:41 CEST 2006
+#Fri Nov 09 15:22:53 CET 2007
eclipse.preferences.version=1
org.eclipse.jdt.core.formatter.align_type_members_on_columns=true
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
Modified: trunk/magicmapclient/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- trunk/magicmapclient/.settings/org.eclipse.jdt.ui.prefs 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/.settings/org.eclipse.jdt.ui.prefs 2008-01-28 13:18:41 UTC (rev 718)
@@ -1,4 +1,5 @@
-#Thu Aug 31 15:41:15 CEST 2006
+#Fri Nov 09 15:22:53 CET 2007
eclipse.preferences.version=1
formatter_profile=_MagicMap Coding Conventions
formatter_settings_version=10
+internal.default.compliance=default
Modified: trunk/magicmapclient/inf/PositionFacade.wsdl
===================================================================
(Binary files differ)
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/Controller.java 2008-01-28 13:18:41 UTC (rev 718)
@@ -4,6 +4,13 @@
package net.sf.magicmap.client.controller;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+
import net.sf.magicmap.client.gui.MainGUI;
import net.sf.magicmap.client.gui.utils.GUIUtils;
import net.sf.magicmap.client.gui.views.MapView;
@@ -13,20 +20,22 @@
import net.sf.magicmap.client.measurement.interfaces.AbstractScanner;
import net.sf.magicmap.client.measurement.interfaces.AbstractScannerHandler;
import net.sf.magicmap.client.meta.MapInfo;
-import net.sf.magicmap.client.model.node.*;
+import net.sf.magicmap.client.model.node.ClientNode;
+import net.sf.magicmap.client.model.node.GeoPos;
+import net.sf.magicmap.client.model.node.INodeModel;
+import net.sf.magicmap.client.model.node.MapNode;
+import net.sf.magicmap.client.model.node.Node;
+import net.sf.magicmap.client.model.node.NodeModel;
import net.sf.magicmap.client.plugin.PluginManager;
+import net.sf.magicmap.client.utils.DriverInformations;
import net.sf.magicmap.client.utils.Settings;
import net.sf.magicmap.core.model.node.IMagicNodeModel;
import net.sf.magicmap.core.model.node.impl.MagicNodeModel;
import net.sf.magicmap.server.dto.MapDTO;
import net.sf.magicmap.server.exception.SessionException;
+
import org.apache.log4j.xml.DOMConfigurator;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
/**
* Kann \xC4nderungen an View und am Modell vornehmen und zieht alle F\xE4den
* der Anwendung.
@@ -42,35 +51,38 @@
MapNamesCallback,
MapCallback {
- private static int numCalled = 0;
- private static int disconnectAttempts = 0;
+ private static int numCalled = 0;
+ private static int disconnectAttempts = 0;
/**
* Die Instanz.
*/
- private static Controller controller = null;
+ private static Controller controller = null;
/**
* Das Knotenmodel.
*/
+
private IMagicNodeModel nodeModel; // Model f\xFCr Graphen
private ClientNode client; // Ausgezeichneter Knoten
- private ServerPoller poller; // Server st\xE4ndig nach \xC4nderungen fragen
+ private HashMap<String, String> ClientAttributes = new HashMap<String,String>(); // zus\xE4tzliche Attribute f\xFCr den Clienten
- private PollHandler pollhandler; // Klasse zur Verarbeitung der Pollergebnisse
+ private ServerPoller poller; // Server st\xE4ndig nach \xC4nderungen fragen
- private ServerManager serverManager; // Manager f\xFCr die Verbindung zum Server
+ private PollHandler pollhandler; // Klasse zur Verarbeitung der Pollergebnisse
+ private ServerManager serverManager; // Manager f\xFCr die Verbindung zum Server
+
// private CallbackHandler callbackHandler; // S\xE4mtliche callbacks werden dort behandelt
- private MapInfo currentMap;
+ private MapInfo currentMap;
- private boolean invisble; // Invisible-Modus (keine Daten an Server)
+ private boolean invisble; // Invisible-Modus (keine Daten an Server)
- private ScannerAllocator scannerAllocator;
- private PluginManager pluginManager;
+ private ScannerAllocator scannerAllocator;
+ private PluginManager pluginManager;
/**
* Private constructor for singleton instance
@@ -169,13 +181,13 @@
this.scannerAllocator.startAllScanner();
this.pluginManager.loadMap();
-// if (this.currentMap.realheight > 0 && this.currentMap.realwidth > 0)
+ // if (this.currentMap.realheight > 0 && this.currentMap.realwidth > 0)
// TODO: Interface f\xFCr GUI mit methode setMapTitle()
-// ((MapView) MainGUI.getInstance().getJComponent("mapView")).setTitle(GUIUtils.i18n("map", false) + " - "
-// + this.currentMap.name + " Gr\xF6\xDFe: " + this.currentMap.realwidth + " X "
-// + this.currentMap.realheight + " cm");
+ // ((MapView) MainGUI.getInstance().getJComponent("mapView")).setTitle(GUIUtils.i18n("map", false) + " - "
+ // + this.currentMap.name + " Gr\xF6\xDFe: " + this.currentMap.realwidth + " X "
+ // + this.currentMap.realheight + " cm");
}
}
@@ -306,11 +318,12 @@
* Erzeugt einen Referenzpunkt auf der aktuellen Karte mit den aktuellen
* Messwerten des Clients mit den angegebenen Koordinaten.
*/
- public void createLocation(int x, int y, int z, String name, boolean fixed, CreatePositionCallback callback){
+ public void createLocation(int x, int y, int z, String name, boolean fixed, HashMap<String, String> attributes,
+ CreatePositionCallback callback){
if (!isConnected() || !isMapLoaded())
callback.positionCreationError(new Exception("Nicht verbunden oder keine Karte geladen."));
else
- this.serverManager.createLocation(x, y, z, fixed, name, callback);
+ this.serverManager.createLocation(x, y, z, fixed, name, attributes, callback);
}
/**
@@ -389,15 +402,15 @@
}
public void setClientPosition(final int x, final int y, final int z, final boolean fixed, final String clientMac,
- final PositionCallback callback){
+ final HashMap<String, String> attributes, final PositionCallback callback){
- this.serverManager.setClientPosition(x, y, z, fixed, clientMac, callback);
+ this.serverManager.setClientPosition(x, y, z, fixed, clientMac, attributes, callback);
}
public void setAccessPointPosition(final int x, final int y, final int z, boolean fixed,
- final String accessPointMac, final PositionCallback callback){
+ final String accessPointMac, final HashMap<String, String> attributes, final PositionCallback callback){
- this.serverManager.setAccessPointPosition(x, y, z, fixed, accessPointMac, callback);
+ this.serverManager.setAccessPointPosition(x, y, z, fixed, accessPointMac, attributes, callback);
}
public void setAccessPointHiddenStatus(String accessPointMac, boolean hidden, PositionCallback callback){
@@ -527,4 +540,21 @@
nodeModel.addNode(node);
} catch (MalformedURLException e) {} catch (IOException e) {}
}
-}
+
+ public HashMap<String, String> getClientAttributes(){
+ return ClientAttributes;
+ }
+
+ public void setClientAttributes(HashMap<String, String> clientAttributes){
+ ClientAttributes = clientAttributes;
+ }
+
+ public void addInterface(HashMap<String, String> intorface){
+// int count = Integer.parseInt(this.getClientAttributes().get(DriverInformations.NUMBEROFINTERFACES));
+ if (!(this.getClientAttributes().containsValue(intorface.get(DriverInformations.DEVICENAME)))) {
+// count++;
+// this.ClientAttributes.put(DriverInformations.NUMBEROFINTERFACES, String.valueOf(count));
+ this.ClientAttributes.putAll(intorface);
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/IController.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/controller/IController.java 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/IController.java 2008-01-28 13:18:41 UTC (rev 718)
@@ -1,6 +1,7 @@
package net.sf.magicmap.client.controller;
+import java.util.HashMap;
import net.sf.magicmap.client.interfaces.*;
import net.sf.magicmap.client.measurement.interfaces.AbstractScanResult;
import net.sf.magicmap.client.measurement.interfaces.AbstractScanner;
@@ -118,7 +119,7 @@
* Erzeugt einen Referenzpunkt auf der aktuellen Karte mit den aktuellen
* Messwerten des Clients mit den angegebenen Koordinaten.
*/
- void createLocation(int x, int y, int z, String name, boolean fixed, CreatePositionCallback callback);
+ void createLocation(int x, int y, int z, String name, boolean fixed, final HashMap <String, String> attributes, CreatePositionCallback callback);
/**
* Erzeugt eine Geokoordinate auf der aktuellen Karte mit den angegebenen
@@ -157,9 +158,9 @@
*/
void deleteGeoPoint(String name, String string, DeletePositionCallback callback);
- void setClientPosition(int x, int y, int z, boolean fixed, String clientMac, PositionCallback callback);
+ void setClientPosition(int x, int y, int z, boolean fixed, String clientMac, HashMap <String, String> attributes, PositionCallback callback);
- void setAccessPointPosition(int x, int y, int z, boolean fixed, String accessPointMac, PositionCallback callback);
+ void setAccessPointPosition(int x, int y, int z, boolean fixed, String accessPointMac, HashMap <String, String> attributes, PositionCallback callback);
void setAccessPointHiddenStatus(String accessPointMac, boolean hidden, PositionCallback callback);
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/PollHandler.java 2008-01-28 13:18:41 UTC (rev 718)
@@ -313,10 +313,14 @@
// Position \xE4ndern
if (!client.isCalculated()) client.setPosition(position.getPosX(), position.getPosY(), position.getPosZ());
// FixierungsStatus setzen
- client.setFix(position.isFixed());
+ if (position.isFixed()) {
+ client.setPosition(position.getPosX(), position.getPosY(), position.getPosZ());
+ client.setFix(position.isFixed());
+ } else
+ client.setFix(position.isFixed());
- // TODO: ist die id hier wirklich notwendig?
- client.setId(position.getId());
+ // TODO: ist die id hier wirklich notwendig?
+ client.setId(position.getId());
// Signalst\xE4rken usw. verwaltet der scannende
// Client selbst
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/SOAPServerManager.java 2008-01-28 13:18:41 UTC (rev 718)
@@ -7,6 +7,7 @@
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.Collection;
+import java.util.HashMap;
import edu.uci.ics.jung.graph.Vertex;
import edu.uci.ics.jung.visualization.SpringLayout;
@@ -264,7 +265,7 @@
*/
@Override
public void createLocation(final int x, final int y, final int z, final boolean fixed, final String name,
- final CreatePositionCallback callback){
+ final HashMap<String, String> attributes, final CreatePositionCallback callback){
if (isConnected()) {
final SignalCharacterDTO signalCharacter = currentSignalCharacter();
System.out.println("signalCharacter.getSimpleScanResults() " + signalCharacter.getSimpleScanResults());
@@ -279,7 +280,7 @@
SOAPServerManager.this.positionDelgate.createOrUpdatePosition(
SOAPServerManager.this.sessionId,
SOAPServerManager.this.controller.getCurrentMap().name, x, y, z, signalCharacter,
- name, fixed);
+ name, fixed, attributes);
// TODO: Zus\xE4tzliche Parameter zur Position
callback.positionCreated();
} catch (Exception e) {
@@ -453,7 +454,7 @@
*/
@Override
public void setClientPosition(final int x, final int y, final int z, final boolean fixed, final String clientMac,
- final PositionCallback callback){
+ final HashMap<String, String> attributes, final PositionCallback callback){
if (isConnected()) {
Thread positionThread = new Thread() {
@@ -465,7 +466,7 @@
SOAPServerManager.this.positionDelgate.createOrUpdateClientPosition(
SOAPServerManager.this.sessionId,
SOAPServerManager.this.controller.getCurrentMap().name, x, y, z,
- currentSignalCharacter(), clientMac, fixed);
+ currentSignalCharacter(), clientMac, fixed, attributes);
// TODO: Zus\xE4tzliche Parameter zur Position
callback.positionUpdated(clientMac);
} catch (Exception e) {
@@ -494,7 +495,7 @@
*/
@Override
public void setAccessPointPosition(final int x, final int y, final int z, final boolean fixed,
- final String accessPointMac, final PositionCallback callback){
+ final String accessPointMac, final HashMap<String, String> attributes, final PositionCallback callback){
if (isConnected()) {
Thread positionThread = new Thread() {
@@ -506,7 +507,7 @@
SOAPServerManager.this.positionDelgate.createOrUpdateAccessPosition(
SOAPServerManager.this.sessionId,
SOAPServerManager.this.controller.getCurrentMap().name, x, y, z, accessPointMac,
- fixed);
+ fixed, attributes);
// TODO: Zus\xE4tzliche Parameter zur Position
callback.positionUpdated(accessPointMac);
} catch (Exception e) {
@@ -619,10 +620,12 @@
synchronized (SOAPServerManager.mutex) {
if (!isConnected()) return;
try {
- // TODO: abfrage ist im moment nicht aus dem Nodemodel m\xF6glich, daher behelfsl\xF6sung direkt aus dem Layout
+ // 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();
+ 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();
@@ -642,7 +645,8 @@
SOAPServerManager.this.sessionId,
SOAPServerManager.this.controller.getCurrentMap().name, x, y, z, signalCharacter,
SOAPServerManager.this.controller.getClient().getMacAddress(),
- SOAPServerManager.this.controller.getClient().isFix());
+ SOAPServerManager.this.controller.getClient().isFix(),
+ SOAPServerManager.this.controller.getClientAttributes());
// TODO: Zus\xE4tzliche Parameter zur Position
System.out.println("Client info submitted.");
} catch (Exception e) {
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerManager.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerManager.java 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/ServerManager.java 2008-01-28 13:18:41 UTC (rev 718)
@@ -12,6 +12,7 @@
import java.util.Calendar;
import java.util.Collection;
import java.util.GregorianCalendar;
+import java.util.HashMap;
import java.util.Iterator;
import net.sf.magicmap.client.interfaces.CreateNewMapCallback;
@@ -145,7 +146,7 @@
* @param node
* @param callback
*/
- public abstract void createLocation(final int x, final int y, final int z, final boolean fixed, final String name,
+ public abstract void createLocation(final int x, final int y, final int z, final boolean fixed, final String name, final HashMap<String, String> attributes,
final CreatePositionCallback callback);
/**
@@ -181,7 +182,7 @@
public void movePosition(long sessionId, long positionId, int newPositionX, int newPositionY) throws RemoteException,
public void deletePosition(long sessionId, long positionId) throws RemoteException, MapException, SessionException{
*/public abstract void setClientPosition(final int x, final int y, final int z, final boolean fixed,
- final String clientMac, final PositionCallback callback);
+ final String clientMac, final HashMap<String, String> attributes, final PositionCallback callback);
/**
* Eine Position von (-1,-1) bedeutet, dass der Client nicht fixiert ist sondern
@@ -192,7 +193,7 @@
* @param callback Callback
*/
public abstract void setAccessPointPosition(final int x, final int y, final int z, final boolean fixed,
- final String accessPointMac, final PositionCallback callback);
+ final String accessPointMac, final HashMap<String, String> attributes, final PositionCallback callback);
/**
* Setzt den Berechnungsstatus des Accesspoint
Modified: trunk/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java
===================================================================
--- trunk/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java 2008-01-21 23:17:30 UTC (rev 717)
+++ trunk/magicmapclient/src/net/sf/magicmap/client/controller/VirtualServerManager.java 2008-01-28 13:18:41 UTC (rev 718)
@@ -5,6 +5,7 @@
package net.sf.magicmap.client.controller;
import java.util.ArrayList;
+import java.util.HashMap;
import net.sf.magicmap.client.interfaces.CreateNewMapCallback;
import net.sf.magicmap.client.interfaces.CreatePositionCallback;
@@ -20,6 +21,7 @@
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.NodeTypes;
import net.sf.magicmap.client.utils.Settings;
import net.sf.magicmap.client.utils.Version;
import net.sf.magicmap.server.Init;
@@ -39,7 +41,7 @@
*/
public class VirtualServerManager extends ServerManager {
- private static String mutex = "net.sf.magicmap.client.controller.Controller";
+ private static String mutex = "net.sf.magicmap.client.controller.Controller";
/**
* @param controller
@@ -230,7 +232,7 @@
* net.sf.magicmap.client.interfaces.CreatePositionCallback)
*/
public void createLocation(final int x, final int y, final int z, final boolean fixed, final String name,
- final CreatePositionCallback callback){
+ final HashMap<String, String> attributes, final CreatePositionCallback callback){
if (!isConnected()) return;
final SignalCharacterDTO signalCharacter = currentSignalCharacter();
System.out.println("signalCharacter.getSimpleScanResults() " + signalCharacter.getSimpleScanResults());
@@ -240,8 +242,8 @@
synchronized (mutex) {
if (!isConnected()) return;
try {
- positionFacade.createOrUpdatePosition(sessionId, controller.getCurrentMap().name, x, y, z,
- signalCharacter, name, fixed);
+ positionFacade.createOrUpdatePosition(sessionId, NodeTypes.LOCATION, controller.getCurrentMap().name, x,
+ y, z, signalCharacter, name, fixed, attributes);
// TODO: Zus\xE4tzliche Parameter zur Position
callback.positionCreated();
} catch (Exception e) {
@@ -351,7 +353,7 @@
* net.sf.magicmap.client.interfaces.PositionCallback)
*/
public void setClientPosition(final int x, final int y, final int z, final boolean fixed, final String clientMac,
- final PositionCallback callback){
+ final HashMap<String, String> attributes, final PositionCallback callback){
if (!isConnected()) return;
Thread thread = new Thread() {
@@ -360,8 +362,8 @@
if (!isConnected()) return;
try {
- positionFacade.createOrUpdateClientPosition(sessionId, controller.getCurrentMap().name, x, y,
- z, currentSignalCharacter(), clientMac, fixed);
+ positionFacade.createOrUpdatePosition(sessionId, NodeTypes.CLIENT, controller.getCurrentMap().name, x, y,
+ z, currentSignalCharacter(), clientMac, fixed, attributes);
// TODO: Zus\xE4tzliche Parameter zur Position
callback.positionUpdated(clientMac);
} catch (Exception e) {
@@ -382,7 +384,7 @@
* net.sf.magicmap.client.interfaces.PositionCallback)
*/
public void setAccessPointPosition(final int x, final int y, final int z, final boolean fixed,
- final String accessPointMac, final PositionCallback callback){
+ final String accessPointMac, final HashMap<String, String> attributes, final PositionCallback callback){
if (!isConnected()) return;
Thread thread = new Thread() {
@@ -390,8 +392,9 @@
synchronized (mutex) {
if (!isConnected()) return;
try {
- positionFacade.createOrUpdateAccessPosition(sessionId, controller.getCurrentMap().name, x, y,
- z, accessPointMac, fixed);
+ //TODO: SignalCharacter for APs?
+ positionFacade.createOrUpdatePosition(sessionId, NodeTypes.ACCESSPOINT, controller.getCurrentMap().name,
+ x, y, z, null, accessPointMac, fixed, attributes);
// TODO: Zus\xE4tzliche Parameter zur Position
callback.positionUpdated(accessPointMac);
} catch (Exception e) {
@@ -447,13 +450,14 @@
synchronized (mutex) {
if (!isConnected()) return;
try {
+ // TODO: use the arraylist and not null! or make null the null the default value to get all types
PositionDTO[] positions;
if (VirtualServerManager.this.timestamp == -1)
positions = positionFacade.getPositionsForMapSince(VirtualServerManager.this.sessionId,
- controller.getCurrentMap().name, new Long(3600000), true);
+ null, controller.getCurrentMap().name, new Long(3600000), true);
else
positions = positionFacade.getPositionsForMapSince(VirtualServerManager.this.sessionId,
- controller.getCurrentMap().name, VirtualServerManager.this.timestamp, false);
+ null, controller.getCurrentMap().name, VirtualServerManager.this.timestamp, false);
for (int i = 0; i < positions.length; i++) {
if (positions[i].getLastModified().longValue() > timestamp) {
timestamp = positions[i].getLastModified().longValue();
@@ -499,6 +503,7 @@
int y = controller.getClientPosY();
// int z = 0;
int z = controller.getClientPosZ();
+ HashMap<String, String> attributes = controller.getClientAttributes();
if (x < 0)
x = 0;
else if (x >= controller.getCurrentMap().width) x = controller.getCurrentMap().width - 1;
@@ -509,9 +514,9 @@
if (z < 0) z = 0;
// else if (z >= ) z = ;;
- positionFacade.createOrUpdateClientPosition(sessionId, controller.getCurrentMap().name, x, y,
+ positionFacade.createOrUpdatePosition(sessionId, NodeTypes.CLIENT, controller.getCurrentMap().name, x, y,
z, signalCharacter, controller.getClient().getMacAddress(), controller.getClient()
- ...
[truncated message content] |