From 7a9879845f3145d99218b97f6ca496b5acf545f8 Mon Sep 17 00:00:00 2001 From: Pascal Koenig Date: Sun, 28 Aug 2011 02:31:50 +0200 Subject: [PATCH] Reenabled the stats-node in userstats.xml. --- .../XmlStats/Datasource/StatsDS.java | 10 +++- .../XmlWorkers/XmlWorkerUserstats.java | 52 ++++++++++--------- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/src/de/sockenklaus/XmlStats/Datasource/StatsDS.java b/src/de/sockenklaus/XmlStats/Datasource/StatsDS.java index 1fb74c7..7104c8d 100644 --- a/src/de/sockenklaus/XmlStats/Datasource/StatsDS.java +++ b/src/de/sockenklaus/XmlStats/Datasource/StatsDS.java @@ -104,9 +104,15 @@ public class StatsDS extends Datasource { if(result.containsKey(catName)){ if(result.get(catName).containsKey(entryName)){ - Integer tempInt = result.get(catName).get(entryName) + entry; - result.get(catName).put(entryName, tempInt); + if(entryName.equals("lastlogin") || entryName.equals("lastlogout")){ + result.get(catName).put(entryName, Math.max(result.get(catName).get(entryName), entry)); + } + else { + Integer tempInt = result.get(catName).get(entryName) + entry; + result.get(catName).put(entryName, tempInt); + } + } else { result.get(catName).put(entryName, entry); diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/XmlWorkerUserstats.java b/src/de/sockenklaus/XmlStats/XmlWorkers/XmlWorkerUserstats.java index 1463c50..161b0f9 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/XmlWorkerUserstats.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/XmlWorkerUserstats.java @@ -83,31 +83,8 @@ public class XmlWorkerUserstats extends XmlWorker { */ if (!parameters.containsKey("player")){ // Generate a summarized XML - HashMap> addedStats = statsDS.getAddedStats(); - Element elem_player = doc.createElement("player"); - elem_player.setAttribute("name", "*"); - - for (String catName : addedStats.keySet()){ - if (!catName.equals("stats")){ - Element elem_cat = doc.createElement("category"); - elem_cat.setAttribute("name", catName); - - for(String entryName : addedStats.get(catName).keySet()){ - Element elem_stat = doc.createElement("stat"); - elem_stat.setAttribute("name", entryName); - - if(Arrays.asList(resolveCats).contains(catName)){ - elem_stat.setAttribute("id", String.valueOf(itemResolver.getItem(entryName))); - } - elem_stat.setAttribute("value", String.valueOf(addedStats.get(catName).get(entryName))); - - elem_cat.appendChild(elem_stat); - } - elem_player.appendChild(elem_cat); - } - } - root.appendChild(elem_player); + root.appendChild(getAddedUpStats(doc)); } else { @@ -172,4 +149,31 @@ public class XmlWorkerUserstats extends XmlWorker { } return elem_player; } + + private Element getAddedUpStats(Document doc){ + HashMap> addedStats = statsDS.getAddedStats(); + + Element elem_player = doc.createElement("player"); + elem_player.setAttribute("name", "*"); + + for (String catName : addedStats.keySet()){ + Element elem_cat = doc.createElement("category"); + elem_cat.setAttribute("name", catName); + + for(String entryName : addedStats.get(catName).keySet()){ + Element elem_stat = doc.createElement("stat"); + elem_stat.setAttribute("name", entryName); + + if(Arrays.asList(resolveCats).contains(catName)){ + elem_stat.setAttribute("id", String.valueOf(itemResolver.getItem(entryName))); + } + elem_stat.setAttribute("value", String.valueOf(addedStats.get(catName).get(entryName))); + + elem_cat.appendChild(elem_stat); + } + elem_player.appendChild(elem_cat); + } + + return elem_player; + } }