X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fnetty-event-executor-config%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fnetty%2Feventexecutor%2FAutoCloseableEventExecutor.java;fp=opendaylight%2Fconfig%2Fnetty-event-executor-config%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fnetty%2Feventexecutor%2FAutoCloseableEventExecutor.java;h=0000000000000000000000000000000000000000;hb=9917911b1a492b5f9fbeef1591569f7fc4a80f68;hp=a7b931be62589f003c08112493a01075477a5a08;hpb=77387f3590ca4c42c3ddce52131d5c00d2a3992d;p=controller.git diff --git a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java deleted file mode 100644 index a7b931be62..0000000000 --- a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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.config.yang.netty.eventexecutor; - -import com.google.common.reflect.AbstractInvocationHandler; -import com.google.common.reflect.Reflection; -import io.netty.util.concurrent.EventExecutor; -import io.netty.util.concurrent.GlobalEventExecutor; -import io.netty.util.concurrent.ImmediateEventExecutor; -import java.lang.reflect.Method; -import java.util.concurrent.TimeUnit; - -public interface AutoCloseableEventExecutor extends EventExecutor, AutoCloseable { - static AutoCloseableEventExecutor globalEventExecutor() { - return createCloseableProxy(GlobalEventExecutor.INSTANCE); - } - - static AutoCloseableEventExecutor immediateEventExecutor() { - return createCloseableProxy(ImmediateEventExecutor.INSTANCE); - } - - private static AutoCloseableEventExecutor createCloseableProxy(final EventExecutor eventExecutor) { - return Reflection.newProxy(AutoCloseableEventExecutor.class, new AbstractInvocationHandler() { - @Override - protected Object handleInvocation(final Object proxy, final Method method, final Object[] args) - throws Throwable { - if (method.getName().equals("close")) { - eventExecutor.shutdownGracefully(0, 1, TimeUnit.SECONDS); - return null; - } else { - return method.invoke(eventExecutor, args); - } - } - }); - } -}