Increased version number to 0.3 and continued unifying the xml schemes.
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
<property name="dist" value="dist" />
|
<property name="dist" value="dist" />
|
||||||
<property name="src" value="src" />
|
<property name="src" value="src" />
|
||||||
<property name="name" value="XmlStats" />
|
<property name="name" value="XmlStats" />
|
||||||
<property name="version" value="0.2" />
|
<property name="version" value="0.3" />
|
||||||
<property name="package" value="de/sockenklaus/XmlStats" />
|
<property name="package" value="de/sockenklaus/XmlStats" />
|
||||||
<property name="resources" value="resources" />
|
<property name="resources" value="resources" />
|
||||||
<property name="author" value="sockenklaus" />
|
<property name="author" value="sockenklaus" />
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ package de.sockenklaus.XmlStats.Datasource;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import com.iConomy.iConomy;
|
import com.iConomy.iConomy;
|
||||||
import com.iConomy.system.Account;
|
import com.iConomy.system.Account;
|
||||||
@@ -69,4 +71,18 @@ public class MoneyDS extends Datasource {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param list
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int getSum(List<String> list) {
|
||||||
|
int result = 0;
|
||||||
|
|
||||||
|
for(String playerName : list){
|
||||||
|
result+=this.getBalance(playerName);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,15 +75,15 @@ public class Webserver {
|
|||||||
|
|
||||||
this.server = HttpServer.create(this.address, 0);
|
this.server = HttpServer.create(this.address, 0);
|
||||||
|
|
||||||
this.server.createContext("/users_list.xml", new XmlWorkerUsers());
|
this.server.createContext("/user_list.xml", new XmlWorkerUsers());
|
||||||
|
|
||||||
this.server.start();
|
this.server.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void startiConomy(){
|
protected void startiConomy(){
|
||||||
if (this.isRunning() && XmlStats.checkiConomy()){
|
if (this.isRunning() && XmlStats.checkiConomy()){
|
||||||
server.createContext("/users_balances.xml", new XmlWorkerMoney());
|
server.createContext("/user_balances.xml", new XmlWorkerMoney());
|
||||||
XmlStats.LogInfo("iConomy seems to be loaded correctly. Enabling /users_balances.xml");
|
XmlStats.LogInfo("iConomy seems to be loaded correctly. Enabling /user_balances.xml");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
XmlStats.LogWarn("iConomy or webserver not loaded correctly. Disabling /users_balances.xml");
|
XmlStats.LogWarn("iConomy or webserver not loaded correctly. Disabling /users_balances.xml");
|
||||||
|
|||||||
@@ -179,27 +179,26 @@ public abstract class XmlWorker implements HttpHandler {
|
|||||||
String param[] = pair.split("[=]");
|
String param[] = pair.split("[=]");
|
||||||
|
|
||||||
String key = null;
|
String key = null;
|
||||||
String value = null;
|
String[] valueArr = null;
|
||||||
|
|
||||||
if(param.length > 0){
|
if(param.length > 0){
|
||||||
key = URLDecoder.decode(param[0].toLowerCase(), System.getProperty("file.encoding"));
|
key = URLDecoder.decode(param[0].toLowerCase(), System.getProperty("file.encoding"));
|
||||||
|
valueArr = new String[1];
|
||||||
|
valueArr[0] = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(param.length > 1){
|
if(param.length > 1){
|
||||||
value = URLDecoder.decode(param[1].toLowerCase(), System.getProperty("file.encoding"));
|
valueArr = URLDecoder.decode(param[1].toLowerCase(), System.getProperty("file.encoding")).split(",");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.containsKey(key)){
|
List<String> values = new ArrayList<String>();
|
||||||
List<String> values = result.get(key);
|
for (String value : valueArr){
|
||||||
|
if (!values.contains(value)){
|
||||||
values.add(value);
|
values.add(value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
List<String> values = new ArrayList<String>();
|
|
||||||
values.add(value);
|
|
||||||
|
|
||||||
result.put(key, values);
|
result.put(key, values);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -14,12 +14,15 @@
|
|||||||
*/
|
*/
|
||||||
package de.sockenklaus.XmlStats.XmlWorkers;
|
package de.sockenklaus.XmlStats.XmlWorkers;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
import de.sockenklaus.XmlStats.XmlStats;
|
||||||
import de.sockenklaus.XmlStats.Datasource.MoneyDS;
|
import de.sockenklaus.XmlStats.Datasource.MoneyDS;
|
||||||
|
|
||||||
// TODO: Auto-generated Javadoc
|
// TODO: Auto-generated Javadoc
|
||||||
@@ -42,23 +45,70 @@ public class XmlWorkerMoney extends XmlWorker {
|
|||||||
|
|
||||||
HashMap<String, Double> balances = moneyDS.getBalances();
|
HashMap<String, Double> balances = moneyDS.getBalances();
|
||||||
|
|
||||||
Element elem_users = this.doc.createElement("users");
|
if (parameters.containsKey("user")){
|
||||||
|
Element elem_users = this.doc.createElement("users");
|
||||||
|
if(parameters.get("user").contains("*")){
|
||||||
|
|
||||||
/*
|
for (String playerName : balances.keySet()){
|
||||||
* Hier wird das XML aufgebaut
|
Element elem_user = this.doc.createElement("user");
|
||||||
*/
|
elem_user.appendChild(getTextElem("name", playerName));
|
||||||
|
elem_user.appendChild(getTextElem("balance", String.valueOf(balances.get(playerName))));
|
||||||
|
|
||||||
for (String playerName : balances.keySet()){
|
elem_users.appendChild(elem_user);
|
||||||
Element elem_user = this.doc.createElement("user");
|
}
|
||||||
elem_user.appendChild(getTextElem("name", playerName));
|
|
||||||
elem_user.appendChild(getTextElem("balance", String.valueOf(balances.get(playerName))));
|
|
||||||
|
|
||||||
elem_users.appendChild(elem_user);
|
}
|
||||||
|
else {
|
||||||
|
for(String playerName : parameters.get("user")){
|
||||||
|
Element elem_user = this.doc.createElement("user");
|
||||||
|
elem_user.appendChild(getTextElem("name", playerName));
|
||||||
|
elem_user.appendChild(getTextElem("balance", String.valueOf(balances.get(playerName))));
|
||||||
|
|
||||||
|
elem_users.appendChild(elem_user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return elem_users;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
else if (parameters.containsKey("sum")){
|
||||||
* Hier endet der XML-Aufbau
|
XmlStats.LogDebug("Entering the sum part");
|
||||||
*/
|
Element elem_sum = this.doc.createElement("sum");
|
||||||
return elem_users;
|
Element elem_users = this.doc.createElement("users");
|
||||||
|
elem_users.setAttribute("type", "name");
|
||||||
|
elem_sum.appendChild(elem_users);
|
||||||
|
|
||||||
|
|
||||||
|
if(parameters.get("sum").contains("*")){
|
||||||
|
List<String> userList = new ArrayList<String>();
|
||||||
|
for(String userName : balances.keySet()){
|
||||||
|
Element elem_user = this.doc.createElement("user");
|
||||||
|
elem_user.appendChild(getTextElem("name", userName));
|
||||||
|
elem_users.appendChild(elem_user);
|
||||||
|
XmlStats.LogDebug("Got "+userName);
|
||||||
|
userList.add(userName);
|
||||||
|
}
|
||||||
|
|
||||||
|
int sum = moneyDS.getSum(userList);
|
||||||
|
|
||||||
|
elem_sum.appendChild(getTextElem("balance", String.valueOf(sum)));
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
|
||||||
|
for(String userName : parameters.get("sum")){
|
||||||
|
Element elem_user = this.doc.createElement("user");
|
||||||
|
elem_user.appendChild(getTextElem("name", userName));
|
||||||
|
elem_users.appendChild(elem_user);
|
||||||
|
}
|
||||||
|
|
||||||
|
int sum = moneyDS.getSum(parameters.get("sum"));
|
||||||
|
|
||||||
|
elem_sum.appendChild(getTextElem("balance", String.valueOf(sum)));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return elem_sum;
|
||||||
|
}
|
||||||
|
return this.doc.createElement("users");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user