aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/web/client/model
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2013-02-16 16:55:44 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2013-02-16 16:55:44 +1300
commit6d48729efb4bd1ac34bba003a8a4313a70a02cce (patch)
treeb834c03b8aeb3302bedb949a63f6b6d0ed4f2600 /src/org/traccar/web/client/model
parent11b7037755c08654fba3b3781f83445244582d59 (diff)
downloadetbsa-traccar-web-6d48729efb4bd1ac34bba003a8a4313a70a02cce.tar.gz
etbsa-traccar-web-6d48729efb4bd1ac34bba003a8a4313a70a02cce.tar.bz2
etbsa-traccar-web-6d48729efb4bd1ac34bba003a8a4313a70a02cce.zip
Handle clicks on markers (fix #8)
Diffstat (limited to 'src/org/traccar/web/client/model')
-rw-r--r--src/org/traccar/web/client/model/StateItem.java31
-rw-r--r--src/org/traccar/web/client/model/StateItemProperties.java17
-rw-r--r--src/org/traccar/web/client/model/StateReader.java43
3 files changed, 91 insertions, 0 deletions
diff --git a/src/org/traccar/web/client/model/StateItem.java b/src/org/traccar/web/client/model/StateItem.java
new file mode 100644
index 0000000..651d2a2
--- /dev/null
+++ b/src/org/traccar/web/client/model/StateItem.java
@@ -0,0 +1,31 @@
+package org.traccar.web.client.model;
+
+
+public class StateItem {
+
+ public StateItem(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+
+ private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ private String value;
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
diff --git a/src/org/traccar/web/client/model/StateItemProperties.java b/src/org/traccar/web/client/model/StateItemProperties.java
new file mode 100644
index 0000000..e3700a5
--- /dev/null
+++ b/src/org/traccar/web/client/model/StateItemProperties.java
@@ -0,0 +1,17 @@
+package org.traccar.web.client.model;
+
+import com.google.gwt.editor.client.Editor.Path;
+import com.sencha.gxt.core.client.ValueProvider;
+import com.sencha.gxt.data.shared.ModelKeyProvider;
+import com.sencha.gxt.data.shared.PropertyAccess;
+
+public interface StateItemProperties extends PropertyAccess<StateItem> {
+
+ @Path("name")
+ ModelKeyProvider<StateItem> id();
+
+ ValueProvider<StateItem, String> name();
+
+ ValueProvider<StateItem, String> value();
+
+}
diff --git a/src/org/traccar/web/client/model/StateReader.java b/src/org/traccar/web/client/model/StateReader.java
new file mode 100644
index 0000000..a354917
--- /dev/null
+++ b/src/org/traccar/web/client/model/StateReader.java
@@ -0,0 +1,43 @@
+package org.traccar.web.client.model;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.traccar.web.shared.model.Position;
+import org.traccar.web.shared.model.XmlParser;
+
+import com.google.gwt.i18n.client.DateTimeFormat;
+
+public class StateReader {
+
+ private static String toString(Object object) {
+ if (object != null) {
+ return object.toString();
+ }
+ return null;
+ }
+
+ public static List<StateItem> getState(Position position) {
+ List<StateItem> state = new LinkedList<StateItem>();
+
+ state.add(new StateItem("valid", toString(position.getValid())));
+ state.add(new StateItem("time", DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").format(position.getTime())));
+ state.add(new StateItem("latitude", toString(position.getLatitude())));
+ state.add(new StateItem("longitude", toString(position.getLongitude())));
+ state.add(new StateItem("altitude", toString(position.getAltitude())));
+ state.add(new StateItem("speed", toString(position.getSpeed())));
+ state.add(new StateItem("course", toString(position.getCourse())));
+ state.add(new StateItem("power", toString(position.getPower())));
+ state.add(new StateItem("address", position.getAddress()));
+
+ String other = position.getOther();
+ if (other != null) {
+ for (String key : XmlParser.enumerateElements(other)) {
+ state.add(new StateItem(key, XmlParser.getElement(other, key)));
+ }
+ }
+
+ return state;
+ }
+
+}