Automatically change : to :// in domain node config uri to make it easier to type
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@808939 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ee2e094cf6
commit
5477f3d8a1
2 changed files with 37 additions and 1 deletions
|
@ -115,7 +115,7 @@ public class DomainNode {
|
|||
}
|
||||
|
||||
protected void parseConfigURI(String configURI) {
|
||||
URI uri = URI.create(configURI);
|
||||
URI uri = URI.create(fixScheme(configURI));
|
||||
String dn = uri.getHost();
|
||||
if (dn == null || dn.length() < 1) {
|
||||
dn = DEFAULT_DOMAIN_NAME;
|
||||
|
@ -136,4 +136,19 @@ public class DomainNode {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* I keep typing the scheme part with just a colon instead of colon slash slash
|
||||
* which URI doesn't parse properly which irritates me so fix it up here
|
||||
*/
|
||||
private String fixScheme(String uri) {
|
||||
int i = uri.indexOf(":");
|
||||
if (i > -1 && uri.charAt(i+1) != '/') {
|
||||
uri = uri.replaceFirst(":", ":/");
|
||||
}
|
||||
if (i > -1 && uri.charAt(i+2) != '/') {
|
||||
uri = uri.replaceFirst(":/", "://");
|
||||
}
|
||||
return uri;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,4 +39,25 @@ public class ConfigTestCase{
|
|||
assertEquals("y", domain.getConfigAttributes().getAttributes().get("p2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConfig1() throws Exception {
|
||||
DomainNode domain = new DomainNode("foo:someDomain:1234?p1=x&p2=y");
|
||||
assertEquals(4, domain.getConfigAttributes().getAttributes().size());
|
||||
assertEquals("someDomain", domain.getDomainName());
|
||||
assertEquals("foo", domain.getConfigAttributes().getAttributes().get("domainScheme"));
|
||||
assertEquals("someDomain", domain.getConfigAttributes().getAttributes().get("domainName"));
|
||||
assertEquals("x", domain.getConfigAttributes().getAttributes().get("p1"));
|
||||
assertEquals("y", domain.getConfigAttributes().getAttributes().get("p2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConfig2() throws Exception {
|
||||
DomainNode domain = new DomainNode("foo:/someDomain:1234?p1=x&p2=y");
|
||||
assertEquals(4, domain.getConfigAttributes().getAttributes().size());
|
||||
assertEquals("someDomain", domain.getDomainName());
|
||||
assertEquals("foo", domain.getConfigAttributes().getAttributes().get("domainScheme"));
|
||||
assertEquals("someDomain", domain.getConfigAttributes().getAttributes().get("domainName"));
|
||||
assertEquals("x", domain.getConfigAttributes().getAttributes().get("p1"));
|
||||
assertEquals("y", domain.getConfigAttributes().getAttributes().get("p2"));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue