Moved regions-code to regions-component.
This commit is contained in:
parent
e57301b14e
commit
b2cb15b75c
10 changed files with 159 additions and 97 deletions
|
|
@ -28,6 +28,14 @@ public class HttpServer extends Thread {
|
|||
this.port = port;
|
||||
}
|
||||
|
||||
public InetAddress getAddress() {
|
||||
return bindAddress;
|
||||
}
|
||||
|
||||
public int getPort() {
|
||||
return port;
|
||||
}
|
||||
|
||||
public void startServer() throws IOException {
|
||||
sock = new ServerSocket(port, 50, bindAddress); /* 5 too low - more than a couple users during render will get connect errors on some tile loads */
|
||||
listeningThread = this;
|
||||
|
|
|
|||
|
|
@ -13,11 +13,9 @@ import org.json.simple.JSONObject;
|
|||
|
||||
public class ClientConfigurationHandler implements HttpHandler {
|
||||
private DynmapPlugin plugin;
|
||||
private Map<?, ?> configuration;
|
||||
private byte[] cachedConfiguration = null;
|
||||
public ClientConfigurationHandler(DynmapPlugin plugin, Map<?, ?> configuration) {
|
||||
public ClientConfigurationHandler(DynmapPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
this.configuration = configuration;
|
||||
}
|
||||
@Override
|
||||
public void handle(String path, HttpRequest request, HttpResponse response) throws Exception {
|
||||
|
|
|
|||
|
|
@ -1,73 +0,0 @@
|
|||
package org.dynmap.web.handlers;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import org.bukkit.util.config.Configuration;
|
||||
import org.dynmap.ConfigurationNode;
|
||||
import org.dynmap.web.HttpRequest;
|
||||
import org.dynmap.web.HttpResponse;
|
||||
import org.dynmap.web.Json;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
||||
public class RegionHandler extends FileHandler {
|
||||
private ConfigurationNode regions;
|
||||
public RegionHandler(ConfigurationNode regions) {
|
||||
this.regions = regions;
|
||||
}
|
||||
@Override
|
||||
protected InputStream getFileInput(String path, HttpRequest request, HttpResponse response) {
|
||||
if(regions == null)
|
||||
return null;
|
||||
/* Right path? */
|
||||
if(path.endsWith(".json") == false)
|
||||
return null;
|
||||
|
||||
String worldname = path.substring(0, path.lastIndexOf(".json"));
|
||||
Configuration regionConfig = null;
|
||||
File infile;
|
||||
String regionFile;
|
||||
|
||||
/* If using worldpath, format is either plugins/<plugin>/<worldname>/<filename> OR
|
||||
* plugins/<plugin>/worlds/<worldname>/<filename>
|
||||
*/
|
||||
File basepath = new File("plugins", regions.getString("name", "WorldGuard"));
|
||||
if(basepath.exists() == false)
|
||||
return null;
|
||||
if(regions.getBoolean("useworldpath", false)) {
|
||||
regionFile = worldname + "/" + regions.getString("filename", "regions.yml");
|
||||
infile = new File(basepath, regionFile);
|
||||
if(!infile.exists()) {
|
||||
infile = new File(basepath, "worlds/" + regionFile);
|
||||
}
|
||||
}
|
||||
else { /* Else, its plugins/<plugin>/<filename> */
|
||||
regionFile = regions.getString("filename", "regions.yml");
|
||||
infile = new File(basepath, regionFile);
|
||||
}
|
||||
if(infile.exists()) {
|
||||
regionConfig = new Configuration(infile);
|
||||
}
|
||||
//File didn't exist
|
||||
if(regionConfig == null)
|
||||
return null;
|
||||
regionConfig.load();
|
||||
/* Parse region data and store in MemoryInputStream */
|
||||
Map<?, ?> regionData = (Map<?, ?>) regionConfig.getProperty(regions.getString("basenode", "regions"));
|
||||
try {
|
||||
ByteArrayOutputStream fos = new ByteArrayOutputStream();
|
||||
fos.write(Json.stringifyJson(regionData).getBytes());
|
||||
fos.close();
|
||||
return new ByteArrayInputStream(fos.toByteArray());
|
||||
} catch (FileNotFoundException ex) {
|
||||
log.log(Level.SEVERE, "Exception while writing JSON-file.", ex);
|
||||
} catch (IOException ioe) {
|
||||
log.log(Level.SEVERE, "Exception while writing JSON-file.", ioe);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue