Search in sources :

Example 1 with RetrieveTrigger

use of com.ms.silverking.cloud.dht.serverside.RetrieveTrigger 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);
}
Also used : PutTrigger(com.ms.silverking.cloud.dht.serverside.PutTrigger) RetrieveTrigger(com.ms.silverking.cloud.dht.serverside.RetrieveTrigger) Pair(com.ms.silverking.collection.Pair)

Aggregations

PutTrigger (com.ms.silverking.cloud.dht.serverside.PutTrigger)1 RetrieveTrigger (com.ms.silverking.cloud.dht.serverside.RetrieveTrigger)1 Pair (com.ms.silverking.collection.Pair)1