use of com.ms.silverking.cloud.dht.serverside.PutTrigger in project SilverKing by Morgan-Stanley.
the class NamespaceStore method instantiateServerSideCode.
private static final Pair<PutTrigger, RetrieveTrigger> instantiateServerSideCode(NamespaceServerSideCode ssCode) {
PutTrigger putTrigger;
RetrieveTrigger retrieveTrigger;
putTrigger = null;
retrieveTrigger = null;
if (isNonBlankNonDefaultSSCode(ssCode)) {
if (ssCode.getUrl() != null && ssCode.getUrl().trim().length() != 0) {
Log.warningf("Ignoring server side code %s. Remote code not currently supported", ssCode.getUrl());
} else {
try {
putTrigger = (PutTrigger) Class.forName(ssCode.getPutTrigger()).newInstance();
if (ssCode.getPutTrigger().equals(ssCode.getRetrieveTrigger())) {
retrieveTrigger = (RetrieveTrigger) putTrigger;
} else {
retrieveTrigger = (RetrieveTrigger) Class.forName(ssCode.getRetrieveTrigger()).newInstance();
}
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
Log.logErrorWarning(e, "Unable to instantiate server side code: " + ssCode);
}
}
}
return new Pair<>(putTrigger, retrieveTrigger);
}
Aggregations