+++ /dev/null
-/*
- * Copyright (c) 2013 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,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.controller.clustering.services_implementation.internal;
-
-import java.lang.ref.WeakReference;
-
-import org.jboss.marshalling.ContextClassResolver;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class ClassResolver extends ContextClassResolver {
- private WeakReference<ClassLoader> osgiClassLoader = null;
- private static final Logger logger = LoggerFactory.getLogger(ClassResolver.class);
-
- public ClassResolver() {
- ClassLoader cl = this.getClass()
- .getClassLoader();
- if (cl != null) {
- this.osgiClassLoader = new WeakReference<ClassLoader>(cl);
- logger.trace("Acquired weak reference to OSGi classLoader {}", cl);
- }
- }
-
- @Override
- protected ClassLoader getClassLoader() {
- ClassLoader ret = null;
- if (this.osgiClassLoader != null) {
- ret = this.osgiClassLoader.get();
- if (ret != null) {
- if (logger.isTraceEnabled()) {
- logger.trace("Returning OSGi class loader {}", ret);
- }
- return ret;
- }
- }
-
- logger.warn("Could not resolve classloader!");
- return ret;
- }
-}