package floobits.common; import java.net.MalformedURLException; import java.net.URL; public class FlooUrl { public String proto; public String host; public String owner; public String workspace; public Integer port; public boolean secure; public FlooUrl(String url) throws MalformedURLException { URL u = new URL(url); String path = u.getPath(); String[] parts = path.split("/"); this.host = u.getHost(); this.owner = parts[1]; this.workspace = parts[2]; if (this.owner.equals("r")) { this.owner = parts[2]; this.workspace = parts[3]; } this.port = u.getPort(); this.proto = u.getProtocol(); this.secure = !this.proto.equals("http"); if (this.port < 0) { if (this.secure) { this.port = 3448; } else { this.port = 3148; } } } public FlooUrl(String host, String owner, String workspace, Integer port, boolean secure) { this.host = host; this.owner = owner; this.workspace = workspace; this.port = port < 0 ? 3448 : port; this.secure = secure; this.proto = secure ? "https" : "http"; } public String toString() { String port = ""; if (this.secure) { proto = "https"; if (this.port != 3448) { port = String.format(":%s", this.port); } } else { proto = "http"; if (this.port != 3148) { port = String.format(":%s", this.port); } } return String.format("%s://%s%s/%s/%s", proto, this.host, port, this.owner, this.workspace); } }