X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fuk%2Fac%2Fvamsas%2Fclient%2FClientHandle.java;h=b566c8d75f7edb6cb2d1a1b75ddbf42fde2cac24;hb=0e95b1e51ee83557e26b520c7b10ea172fbd0a43;hp=6f86bcef5c797486ecc43a998dd65199d92ef577;hpb=ea8b10ee787a2b1e2b35f2acb4dccaf12fd2a6fd;p=vamsas.git diff --git a/src/uk/ac/vamsas/client/ClientHandle.java b/src/uk/ac/vamsas/client/ClientHandle.java index 6f86bce..b566c8d 100644 --- a/src/uk/ac/vamsas/client/ClientHandle.java +++ b/src/uk/ac/vamsas/client/ClientHandle.java @@ -10,15 +10,17 @@ import java.io.Serializable; */ public class ClientHandle implements Serializable { static final long serialVersionUID = 0; + /** * @param clientName * @param version */ - public ClientHandle(String clientName, String version) { + public ClientHandle(String _clientName, String _version) { super(); - this.clientName = clientName; - this.version = version; - this.setClientUrn("vamsas://"+clientName+":"+version+"/"); // TODO: decide on application handle ornthing (used to prefix new ids made by a particular application) + this.clientName = _clientName; + this.version = _version; + //this.setClientUrn("vamsas://"+clientName+":"+version+"/"); // TODO: decide on application handle ornthing (used to prefix new ids made by a particular application) + this.setClientUrn(this.generateClientUrn(this.clientName, this.version)); } /** * (non-unique) human readable vamsas client name @@ -40,10 +42,22 @@ public class ClientHandle implements Serializable { String version; /** + * Generates the client Urn from the clientName and version + * + * @param clientName (non-unique) human readable vamsas client name + * @param version version modifier + * @return a String corresponding to the clientUrn + */ + private String generateClientUrn(String _clientName, String _version) + { + return ("vamsas://"+_clientName+":"+_version+"/").intern(); + } + + /** * @return Returns the clientUrn. */ public String getClientUrn() { - return clientUrn; + return this.clientUrn; } /** @@ -51,23 +65,24 @@ public class ClientHandle implements Serializable { * @param clientUrn * The clientUrn to set. */ - public void setClientUrn(String clientUrn) { - this.clientUrn = clientUrn; + public void setClientUrn(String _clientUrn) { + this.clientUrn = _clientUrn; } /** * @return Returns the version. */ public String getVersion() { - return version; + return this.version; } /** * @param version * The version to set. */ - public void setVersion(String version) { - this.version = version; + public void setVersion(String _version) { + this.version = _version; + this.setClientUrn(this.generateClientUrn(this.clientName, this.version)); } @@ -75,15 +90,16 @@ public class ClientHandle implements Serializable { * @return Returns the clientName. */ public String getClientName() { - return clientName; + return this.clientName; } /** * @param clientName * The clientName to set. */ - public void setClientName(String clientName) { - this.clientName = clientName; + public void setClientName(String _clientName) { + this.clientName = _clientName; + this.setClientUrn(this.generateClientUrn(this.clientName, this.version)); } public boolean equals(Object that) { @@ -92,6 +108,15 @@ public class ClientHandle implements Serializable { return false; } public boolean equals(ClientHandle that) { - return (clientName.equals(that.clientName) && version.equals(that.version) && clientUrn.equals(that.clientUrn)); + return ( (this.clientName == null || this.clientName.equals(that.clientName)) + && (this.version == null || this.version.equals(that.version)) + && (this.clientUrn == null || this.clientUrn.equals(that.clientUrn))); + } + + public String getClientNCname() { + + String ncname = clientName.replace(':', '_'); + ncname = ncname.replace('@', '.'); + return ncname; } }