use of com.ms.silverking.cloud.dht.common.Context in project SilverKing by Morgan-Stanley.
the class DHTSessionImpl method getClientNamespace.
private ClientNamespace getClientNamespace(String namespace) {
ClientNamespace clientNamespace;
Context context;
context = namespaceCreator.createNamespace(namespace);
clientNamespace = clientNamespaces.get(context.contextAsLong());
if (clientNamespace == null) {
ClientNamespace previous;
NamespaceProperties nsProperties;
NamespaceOptions nsOptions;
ClientNamespace parent;
NamespaceLinkMeta nsLinkMeta;
nsProperties = getNamespaceProperties(namespace);
if (nsProperties == null) {
throw new NamespaceNotCreatedException(namespace);
}
nsOptions = nsProperties.getOptions();
if (nsProperties.getParent() != null) {
parent = getClientNamespace(nsProperties.getParent());
} else {
parent = null;
}
if (nsOptions.getAllowLinks() && nsOptions.getVersionMode() == NamespaceVersionMode.SINGLE_VERSION) {
nsLinkMeta = getNSLinkMeta();
} else {
nsLinkMeta = null;
}
clientNamespace = new ClientNamespace(this, namespace, nsOptions, serializationRegistry, absMillisTimeSource, server, parent, nsLinkMeta);
previous = clientNamespaces.putIfAbsent(context.contextAsLong(), clientNamespace);
if (previous != null) {
clientNamespace = previous;
} else {
if (Log.levelMet(Level.INFO)) {
Log.info("Created client namespace: " + namespace + " " + context);
}
clientNamespaceList.add(clientNamespace);
}
}
return clientNamespace;
}
Aggregations