diff --git a/enabler/src/de/schildbach/pte/dto/Departure.java b/enabler/src/de/schildbach/pte/dto/Departure.java
index b3d56f88..fc415cc3 100644
--- a/enabler/src/de/schildbach/pte/dto/Departure.java
+++ b/enabler/src/de/schildbach/pte/dto/Departure.java
@@ -20,7 +20,10 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
import java.util.Comparator;
import java.util.Date;
+import java.util.Locale;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Objects;
/**
@@ -61,18 +64,12 @@ public final class Departure implements Serializable
@Override
public String toString()
{
- final StringBuilder builder = new StringBuilder("Departure(");
- builder.append(plannedTime != null ? plannedTime : "null");
- builder.append(",");
- builder.append(predictedTime != null ? predictedTime : "null");
- builder.append(",");
- builder.append(line != null ? line : "null");
- builder.append(",");
- builder.append(position != null ? position : "null");
- builder.append(",");
- builder.append(destination != null ? destination : "null");
- builder.append(")");
- return builder.toString();
+ final ToStringHelper helper = MoreObjects.toStringHelper(this);
+ if (plannedTime != null)
+ helper.add("planned", String.format(Locale.US, "%ta %
return attrs != null && attrs.contains(attr);
}
- @Override
- public String toString()
- {
- final StringBuilder builder = new StringBuilder("Line(");
- builder.append(label);
- builder.append(")");
- return builder.toString();
- }
-
@Override
public boolean equals(final Object o)
{
@@ -105,6 +97,12 @@ public final class Line implements Serializable, Comparable
return Objects.hashCode(label);
}
+ @Override
+ public String toString()
+ {
+ return MoreObjects.toStringHelper(this).addValue(label).toString();
+ }
+
public int compareTo(final Line other)
{
final int productThis = PRODUCT_ORDER.indexOf(this.product);
diff --git a/enabler/src/de/schildbach/pte/dto/LineDestination.java b/enabler/src/de/schildbach/pte/dto/LineDestination.java
index 4dd888e1..035115f4 100644
--- a/enabler/src/de/schildbach/pte/dto/LineDestination.java
+++ b/enabler/src/de/schildbach/pte/dto/LineDestination.java
@@ -19,6 +19,7 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
+import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
/**
@@ -35,17 +36,6 @@ public final class LineDestination implements Serializable
this.destination = destination;
}
- @Override
- public String toString()
- {
- StringBuilder builder = new StringBuilder("LineDestination(");
- builder.append(line != null ? line : "null");
- builder.append(",");
- builder.append(destination != null ? destination : "null");
- builder.append(")");
- return builder.toString();
- }
-
@Override
public boolean equals(final Object o)
{
@@ -66,4 +56,10 @@ public final class LineDestination implements Serializable
{
return Objects.hashCode(line, destination);
}
+
+ @Override
+ public String toString()
+ {
+ return MoreObjects.toStringHelper(this).add("line", line).add("destination", destination).omitNullValues().toString();
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/Location.java b/enabler/src/de/schildbach/pte/dto/Location.java
index 4f1f0983..d46b0cfb 100644
--- a/enabler/src/de/schildbach/pte/dto/Location.java
+++ b/enabler/src/de/schildbach/pte/dto/Location.java
@@ -20,6 +20,8 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
import java.util.Arrays;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Objects;
/**
@@ -152,13 +154,6 @@ public final class Location implements Serializable
return null;
}
- @Override
- public String toString()
- {
- return "[" + type + " " + id + " " + lat + "/" + lon + " " + (place != null ? "\"" + place + "\"" : "null") + " "
- + (name != null ? "\"" + name + "\"" : "null") + "]";
- }
-
@Override
public boolean equals(final Object o)
{
@@ -190,4 +185,13 @@ public final class Location implements Serializable
else
return Objects.hashCode(type, lat, lon);
}
+
+ @Override
+ public String toString()
+ {
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(type).addValue(id);
+ if (lat != 0 || lon != 0)
+ helper.addValue(lat + "/" + lon);
+ return helper.add("place", place).add("name", name).omitNullValues().toString();
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/NearbyStationsResult.java b/enabler/src/de/schildbach/pte/dto/NearbyStationsResult.java
index 70d403ac..1f66c3a1 100644
--- a/enabler/src/de/schildbach/pte/dto/NearbyStationsResult.java
+++ b/enabler/src/de/schildbach/pte/dto/NearbyStationsResult.java
@@ -20,6 +20,9 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
import java.util.List;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
/**
* @author Andreas Schildbach
*/
@@ -51,11 +54,9 @@ public final class NearbyStationsResult implements Serializable
@Override
public String toString()
{
- final StringBuilder builder = new StringBuilder(getClass().getSimpleName());
- builder.append("[").append(this.status);
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(status);
if (stations != null)
- builder.append(" ").append(stations.size()).append(stations);
- builder.append("]");
- return builder.toString();
+ helper.add("size", stations.size()).add("stations", stations);
+ return helper.toString();
}
}
diff --git a/enabler/src/de/schildbach/pte/dto/Point.java b/enabler/src/de/schildbach/pte/dto/Point.java
index 7a1fdd17..843db067 100644
--- a/enabler/src/de/schildbach/pte/dto/Point.java
+++ b/enabler/src/de/schildbach/pte/dto/Point.java
@@ -39,12 +39,6 @@ public final class Point implements Serializable
return new Point((int) Math.round(lat * 1E6), (int) Math.round(lon * 1E6));
}
- @Override
- public String toString()
- {
- return "[" + lat + "/" + lon + "]";
- }
-
@Override
public boolean equals(final Object o)
{
@@ -65,4 +59,10 @@ public final class Point implements Serializable
{
return Objects.hashCode(lat, lon);
}
+
+ @Override
+ public String toString()
+ {
+ return lat + "/" + lon;
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/QueryDeparturesResult.java b/enabler/src/de/schildbach/pte/dto/QueryDeparturesResult.java
index 21cf8778..bc6472e3 100644
--- a/enabler/src/de/schildbach/pte/dto/QueryDeparturesResult.java
+++ b/enabler/src/de/schildbach/pte/dto/QueryDeparturesResult.java
@@ -21,6 +21,9 @@ import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
/**
* @author Andreas Schildbach
*/
@@ -47,17 +50,6 @@ public final class QueryDeparturesResult implements Serializable
this.status = status;
}
- @Override
- public String toString()
- {
- final StringBuilder builder = new StringBuilder(getClass().getSimpleName());
- builder.append("[").append(this.status);
- if (stationDepartures != null)
- builder.append(" ").append(stationDepartures.size()).append(stationDepartures);
- builder.append("]");
- return builder.toString();
- }
-
public StationDepartures findStationDepartures(final String stationId)
{
for (final StationDepartures departures : stationDepartures)
@@ -68,4 +60,13 @@ public final class QueryDeparturesResult implements Serializable
return null;
}
+
+ @Override
+ public String toString()
+ {
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(status);
+ if (stationDepartures != null)
+ helper.add("size", stationDepartures.size()).add("stationDepartures", stationDepartures);
+ return helper.toString();
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/QueryTripsResult.java b/enabler/src/de/schildbach/pte/dto/QueryTripsResult.java
index 91a9d91e..0480290d 100644
--- a/enabler/src/de/schildbach/pte/dto/QueryTripsResult.java
+++ b/enabler/src/de/schildbach/pte/dto/QueryTripsResult.java
@@ -20,6 +20,9 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
import java.util.List;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
/**
* @author Andreas Schildbach
*/
@@ -97,31 +100,25 @@ public final class QueryTripsResult implements Serializable
@Override
public String toString()
{
- final StringBuilder builder = new StringBuilder(getClass().getSimpleName());
- builder.append("[").append(this.status).append(" ");
-
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(status);
if (status == Status.OK)
{
if (trips != null)
- builder.append(trips.size()).append(trips);
+ helper.add("size", trips.size()).add("trips", trips);
}
else if (status == Status.AMBIGUOUS)
{
if (ambiguousFrom != null)
- builder.append(ambiguousFrom.size()).append(" ambiguous from, ");
+ helper.add("size", ambiguousFrom.size()).add("ambiguousFrom", ambiguousFrom);
if (ambiguousVia != null)
- builder.append(ambiguousVia.size()).append(" ambiguous via, ");
+ helper.add("size", ambiguousVia.size()).add("ambiguousVia", ambiguousVia);
if (ambiguousTo != null)
- builder.append(ambiguousTo.size()).append(" ambiguous to, ");
+ helper.add("size", ambiguousTo.size()).add("ambiguousTo", ambiguousTo);
}
else
{
- builder.append(this.status);
+ helper.addValue(status);
}
-
- if (builder.substring(builder.length() - 2).equals(", "))
- builder.setLength(builder.length() - 2);
- builder.append("]");
- return builder.toString();
+ return helper.toString();
}
}
diff --git a/enabler/src/de/schildbach/pte/dto/ResultHeader.java b/enabler/src/de/schildbach/pte/dto/ResultHeader.java
index 68c27945..9dee0c57 100644
--- a/enabler/src/de/schildbach/pte/dto/ResultHeader.java
+++ b/enabler/src/de/schildbach/pte/dto/ResultHeader.java
@@ -19,6 +19,8 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
+import com.google.common.base.MoreObjects;
+
/**
* @author Andreas Schildbach
*/
@@ -44,4 +46,11 @@ public final class ResultHeader implements Serializable
this.serverTime = serverTime;
this.context = context;
}
+
+ @Override
+ public String toString()
+ {
+ return MoreObjects.toStringHelper(this).add("serverProduct", serverProduct).add("serverVersion", serverVersion).add("serverTime", serverTime)
+ .add("context", context).omitNullValues().toString();
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/StationDepartures.java b/enabler/src/de/schildbach/pte/dto/StationDepartures.java
index f9b415ce..5e2d8a50 100644
--- a/enabler/src/de/schildbach/pte/dto/StationDepartures.java
+++ b/enabler/src/de/schildbach/pte/dto/StationDepartures.java
@@ -20,6 +20,8 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
import java.util.List;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Objects;
/**
@@ -38,19 +40,6 @@ public final class StationDepartures implements Serializable
this.lines = lines;
}
- @Override
- public String toString()
- {
- final StringBuilder builder = new StringBuilder(getClass().getSimpleName());
- builder.append("[");
- if (location != null)
- builder.append(location);
- if (departures != null)
- builder.append(" ").append(departures.size()).append(" departures");
- builder.append("]");
- return builder.toString();
- }
-
@Override
public boolean equals(final Object o)
{
@@ -73,4 +62,13 @@ public final class StationDepartures implements Serializable
{
return Objects.hashCode(location, departures, lines);
}
+
+ @Override
+ public String toString()
+ {
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(location);
+ if (departures != null)
+ helper.add("size", departures.size()).add("departures", departures);
+ return helper.toString();
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/Stop.java b/enabler/src/de/schildbach/pte/dto/Stop.java
index 1a0aa7ad..3ff28bbf 100644
--- a/enabler/src/de/schildbach/pte/dto/Stop.java
+++ b/enabler/src/de/schildbach/pte/dto/Stop.java
@@ -19,7 +19,10 @@ package de.schildbach.pte.dto;
import java.io.Serializable;
import java.util.Date;
+import java.util.Locale;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Objects;
/**
@@ -195,31 +198,6 @@ public final class Stop implements Serializable
return plannedArrivalTime;
}
- @Override
- public String toString()
- {
- final StringBuilder builder = new StringBuilder("Stop('");
- builder.append(location);
- builder.append("', arr: ");
- builder.append(plannedArrivalTime != null ? plannedArrivalTime : "-");
- builder.append("/");
- builder.append(arrivalCancelled ? "cancelled" : (predictedArrivalTime != null ? predictedArrivalTime : "-"));
- builder.append(", ");
- builder.append(plannedArrivalPosition != null ? plannedArrivalPosition : "-");
- builder.append("/");
- builder.append(predictedArrivalPosition != null ? predictedArrivalPosition : "-");
- builder.append(", dep: ");
- builder.append(plannedDepartureTime != null ? plannedDepartureTime : "-");
- builder.append("/");
- builder.append(departureCancelled ? "cancelled" : (predictedDepartureTime != null ? predictedDepartureTime : "-"));
- builder.append(", ");
- builder.append(plannedDeparturePosition != null ? plannedDeparturePosition : "-");
- builder.append("/");
- builder.append(predictedDeparturePosition != null ? predictedDeparturePosition : "-");
- builder.append(")");
- return builder.toString();
- }
-
@Override
public boolean equals(final Object o)
{
@@ -260,4 +238,23 @@ public final class Stop implements Serializable
arrivalCancelled, plannedDepartureTime, predictedDepartureTime, plannedDeparturePosition, predictedDeparturePosition,
departureCancelled);
}
+
+ @Override
+ public String toString()
+ {
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(location);
+ if (plannedArrivalTime != null)
+ helper.add("plannedArrivalTime", String.format(Locale.US, "%ta % getLocations()
{
final List locations = new ArrayList(suggestedLocations.size());
@@ -71,4 +63,13 @@ public final class SuggestLocationsResult implements Serializable
return locations;
}
+
+ @Override
+ public String toString()
+ {
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(status);
+ if (suggestedLocations != null)
+ helper.add("size", suggestedLocations.size()).add("suggestedLocations", suggestedLocations);
+ return helper.toString();
+ }
}
diff --git a/enabler/src/de/schildbach/pte/dto/Trip.java b/enabler/src/de/schildbach/pte/dto/Trip.java
index 5d02c569..81e55d9b 100644
--- a/enabler/src/de/schildbach/pte/dto/Trip.java
+++ b/enabler/src/de/schildbach/pte/dto/Trip.java
@@ -18,12 +18,13 @@
package de.schildbach.pte.dto;
import java.io.Serializable;
-import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Objects;
/**
@@ -196,23 +197,6 @@ public final class Trip implements Serializable
return builder.toString();
}
- @Override
- public String toString()
- {
- final SimpleDateFormat FORMAT = new SimpleDateFormat("E HH:mm", Locale.US);
-
- final StringBuilder str = new StringBuilder(getId());
- str.append(' ');
- final Date firstPublicLegDepartureTime = getFirstPublicLegDepartureTime();
- str.append(firstPublicLegDepartureTime != null ? FORMAT.format(firstPublicLegDepartureTime) : "null");
- str.append('-');
- final Date lastPublicLegArrivalTime = getLastPublicLegArrivalTime();
- str.append(lastPublicLegArrivalTime != null ? FORMAT.format(lastPublicLegArrivalTime) : "null");
- str.append(' ').append(numChanges).append("ch");
-
- return str.toString();
- }
-
@Override
public boolean equals(Object o)
{
@@ -230,6 +214,18 @@ public final class Trip implements Serializable
return Objects.hashCode(getId());
}
+ @Override
+ public String toString()
+ {
+ final ToStringHelper helper = MoreObjects.toStringHelper(this).addValue(getId());
+ final Date firstPublicLegDepartureTime = getFirstPublicLegDepartureTime();
+ final Date lastPublicLegArrivalTime = getLastPublicLegArrivalTime();
+ helper.addValue(firstPublicLegDepartureTime != null ? String.format(Locale.US, "%ta %|