From 53486c0fe1bad6adb2324bd596e7528dcec82d26 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 2 Aug 2014 10:28:25 +0200 Subject: Improve extended formatter --- src/org/traccar/model/ExtendedInfoFormatter.java | 33 +++++++++++++++++------- 1 file changed, 23 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/org/traccar/model/ExtendedInfoFormatter.java b/src/org/traccar/model/ExtendedInfoFormatter.java index 99966569e..31aac7672 100644 --- a/src/org/traccar/model/ExtendedInfoFormatter.java +++ b/src/org/traccar/model/ExtendedInfoFormatter.java @@ -1,5 +1,5 @@ /* - * Copyright 2013 Anton Tananaev (anton.tananaev@gmail.com) + * Copyright 2013 - 2014 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,6 +15,9 @@ */ package org.traccar.model; +import java.util.LinkedHashMap; +import java.util.Map; + /** * Format extended tracker status */ @@ -22,12 +25,11 @@ public class ExtendedInfoFormatter { private static final String rootNode = "info"; - private StringBuilder data; - + private final Map data; + public ExtendedInfoFormatter(String protocol) { - data = new StringBuilder(); - data.append("<").append(rootNode).append(">"); - data.append("").append(protocol).append(""); + data = new LinkedHashMap(); + data.put("protocol", protocol); } public void set(String key, Object value) { @@ -37,15 +39,26 @@ public class ExtendedInfoFormatter { return; } - data.append("<").append(key).append(">"); - data.append(value); - data.append(""); + data.put(key, value); } } @Override public String toString() { - return data.toString() + ""; + StringBuilder result = new StringBuilder(); + + result.append("<").append(rootNode).append(">"); + + for (Map.Entry entry : data.entrySet()) { + + result.append("<").append(entry.getKey()).append(">"); + result.append(entry.getValue()); + result.append(""); + } + + result.append(""); + + return result.toString(); } } -- cgit v1.2.3