package dk.thoerup.bukkit.hoeruputils.web; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Set; import java.util.Map; import org.bukkit.Location; import org.bukkit.Server; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import org.bukkit.configuration.Configuration; /*import org.kokakiwi.apicraft.events.ApiEvent; import org.kokakiwi.apicraft.events.ApiListener;*/ import de.codeinfection.quickwango.ApiBukkit.ApiBukkit; import de.codeinfection.quickwango.ApiBukkit.ApiServer.*; @Controller( name = "bans", authenticate = false, serializer = "raw" ) public class BanListener extends ApiController { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Server server; long cachedTime = 0; String cachedText = ""; public BanListener(Plugin plugin, Server server) { super( new de.codeinfection.quickwango.Abstraction.Implementations.Bukkit.BukkitPlugin(plugin) ); //super( new de.codeinfection.quickwango.ApiBukkit.Abstraction.Implementations.Bukkit.BukkitPlugin(plugin) ); this.server = server; } String formatTime(String input) { return formatTime( Long.parseLong(input) ); } String formatTime(long input) { Date d = new Date( input ); return format.format(d ); } @Override public void defaultAction(ApiRequest request, ApiResponse response) { /* if(!event.path[0].equalsIgnoreCase("webstatus")) { return; }*/ String text; synchronized(this) { //is this necessary ? long now = System.currentTimeMillis(); if ( (now-cachedTime) > 5000) { text = buildText(); cachedText = text; cachedTime = now; } else { text = cachedText; } } /* event.setResponse(xml); event.setActionTaken(true);*/ response.setContent( text ); } private String buildText() { StringBuilder sb = new StringBuilder(); sb.append("

Banned Players

"); sb.append("\n"); sb.append("

Banned IPs

"); sb.append("\n"); return sb.toString(); } }