Search in sources :

Example 16 with Pair

use of com.ms.silverking.collection.Pair 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

Pair (com.ms.silverking.collection.Pair)16 IPAndPort (com.ms.silverking.net.IPAndPort)6 KeeperException (org.apache.zookeeper.KeeperException)3 DaemonState (com.ms.silverking.cloud.dht.daemon.DaemonState)2 NodeInfo (com.ms.silverking.cloud.dht.daemon.NodeInfo)2 DHTRingCurTargetZK (com.ms.silverking.cloud.dht.meta.DHTRingCurTargetZK)2 SSStorageParameters (com.ms.silverking.cloud.dht.serverside.SSStorageParameters)2 ImmutableList (com.google.common.collect.ImmutableList)1 VersionConstraint (com.ms.silverking.cloud.dht.VersionConstraint)1 OperationState (com.ms.silverking.cloud.dht.client.OperationState)1 StorageParameters (com.ms.silverking.cloud.dht.daemon.storage.StorageParameters)1 DaemonStateZK (com.ms.silverking.cloud.dht.meta.DaemonStateZK)1 PutTrigger (com.ms.silverking.cloud.dht.serverside.PutTrigger)1 RetrieveTrigger (com.ms.silverking.cloud.dht.serverside.RetrieveTrigger)1 InstantiatedRingTree (com.ms.silverking.cloud.toporing.InstantiatedRingTree)1 NamedRingConfiguration (com.ms.silverking.cloud.toporing.meta.NamedRingConfiguration)1 RingConfiguration (com.ms.silverking.cloud.toporing.meta.RingConfiguration)1 RingConfigurationZK (com.ms.silverking.cloud.toporing.meta.RingConfigurationZK)1 Quadruple (com.ms.silverking.collection.Quadruple)1 UUIDBase (com.ms.silverking.id.UUIDBase)1