X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2FRemoteRpcProviderFactory.java;h=58a70016faf0eeb85b3b48354acdfcf6b22bc29e;hp=c82a72eaa56c82e40388b8fb612eed7b198dbae8;hb=a2b838f96589b502578fa4e15cef2769f886a378;hpb=1c06f3d753faa148ba9d3628131d8764b1609674 diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProviderFactory.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProviderFactory.java index c82a72eaa5..58a70016fa 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProviderFactory.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProviderFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -9,43 +9,17 @@ package org.opendaylight.controller.remote.rpc; import akka.actor.ActorSystem; -import akka.osgi.BundleDelegatingClassLoader; -import com.typesafe.config.Config; -import org.opendaylight.controller.sal.core.api.Broker; -import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry; -import org.osgi.framework.BundleContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.opendaylight.mdsal.dom.api.DOMRpcProviderService; +import org.opendaylight.mdsal.dom.api.DOMRpcService; -public class RemoteRpcProviderFactory { - private static final Logger LOG = LoggerFactory.getLogger(RemoteRpcProviderFactory.class); +public final class RemoteRpcProviderFactory { + private RemoteRpcProviderFactory() { - public static RemoteRpcProvider createInstance( - final Broker broker, final BundleContext bundleContext, final RemoteRpcProviderConfig config){ - - RemoteRpcProvider rpcProvider = - new RemoteRpcProvider(createActorSystem(bundleContext, config), (RpcProvisionRegistry) broker); - - broker.registerProvider(rpcProvider); - return rpcProvider; } - private static ActorSystem createActorSystem(BundleContext bundleContext, RemoteRpcProviderConfig config){ - - // Create an OSGi bundle classloader for actor system - BundleDelegatingClassLoader classLoader = - new BundleDelegatingClassLoader(bundleContext.getBundle(), - Thread.currentThread().getContextClassLoader()); - - Config actorSystemConfig = config.get(); - if(LOG.isDebugEnabled()) { - LOG.debug("Actor system configuration\n{}", actorSystemConfig.root().render()); - } - if (config.isMetricCaptureEnabled()) { - LOG.info("Instrumentation is enabled in actor system {}. Metrics can be viewed in JMX console.", - config.getActorSystemName()); - } + public static RemoteRpcProvider createInstance(final DOMRpcProviderService rpcProviderService, + final DOMRpcService rpcService, final ActorSystem actorSystem, final RemoteRpcProviderConfig config) { - return ActorSystem.create(config.getActorSystemName(), actorSystemConfig, classLoader); + return new RemoteRpcProvider(actorSystem, rpcProviderService, rpcService, config); } }