Reenabled the stats-node in userstats.xml.

This commit is contained in:
Pascal Koenig
2011-08-28 02:31:50 +02:00
parent 7982841dfd
commit 7a9879845f
2 changed files with 36 additions and 26 deletions

View File

@@ -104,9 +104,15 @@ public class StatsDS extends Datasource {
if(result.containsKey(catName)){ if(result.containsKey(catName)){
if(result.get(catName).containsKey(entryName)){ 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 { else {
result.get(catName).put(entryName, entry); result.get(catName).put(entryName, entry);

View File

@@ -83,31 +83,8 @@ public class XmlWorkerUserstats extends XmlWorker {
*/ */
if (!parameters.containsKey("player")){ if (!parameters.containsKey("player")){
// Generate a summarized XML // Generate a summarized XML
HashMap<String, HashMap<String, Integer>> addedStats = statsDS.getAddedStats();
Element elem_player = doc.createElement("player"); root.appendChild(getAddedUpStats(doc));
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);
} }
else { else {
@@ -172,4 +149,31 @@ public class XmlWorkerUserstats extends XmlWorker {
} }
return elem_player; return elem_player;
} }
private Element getAddedUpStats(Document doc){
HashMap<String, HashMap<String, Integer>> 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;
}
} }