+++ /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.openflowplugin.openflow.md.core.plan;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.concurrent.Callable;
-
-import org.opendaylight.openflowjava.protocol.api.connection.ConnectionReadyListener;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
-import org.opendaylight.yangtools.yang.binding.Notification;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author mirehak
- */
-public abstract class EventFactory {
-
- private static final Logger LOG = LoggerFactory
- .getLogger(EventFactory.class);
-
- /** default protocol version */
- public static final Short DEFAULT_VERSION = 4;
-
- /**
- * @param xid
- * transaction id
- * @param version
- * version id
- * @param builder
- * message builder instance
- * @return default notification event
- */
- public static SwitchTestNotificationEvent createDefaultNotificationEvent(
- long xid, short version, Object builder) {
- SwitchTestNotificationEventImpl event = new SwitchTestNotificationEventImpl();
- Notification notification = build(setupHeader(xid, version, builder));
- event.setNotification(notification);
- return event;
- }
-
- /**
- * @param xid
- * transaction id
- * @param version
- * version id
- * @param builder
- * rpc response builder instance
- * @return default notification event
- */
- public static SwitchTestRcpResponseEvent createDefaultRpcResponseEvent(
- long xid, short version, Object builder) {
- SwitchTestRcpResponseEventImpl event = new SwitchTestRcpResponseEventImpl();
- OfHeader rpcResponse = build(setupHeader(xid, version, builder));
- event.setResponse(rpcResponse);
- event.setXid(xid);
- return event;
- }
-
- /**
- * @param setupHeader
- * @return
- */
- @SuppressWarnings("unchecked")
- private static <E> E build(Object builder) {
- E notification = null;
- try {
- Class<?> builderClazz = builder.getClass();
- notification = (E) builderClazz.getMethod("build", new Class[0])
- .invoke(builder, new Object[0]);
- } catch (Exception e) {
- LOG.error(e.getMessage(), e);
- }
- return notification;
- }
-
- /**
- * @param xid
- * transaction id
- * @param rpcName
- * name of rpc method
- * @return default notification event
- */
- public static SwitchTestWaitForRpcEvent createDefaultWaitForRpcEvent(
- long xid, String rpcName) {
- SwitchTestWaitForRpcEventImpl event = new SwitchTestWaitForRpcEventImpl();
- event.setRpcName(rpcName);
- event.setXid(xid);
- return event;
- }
-
- /**
- * @param events
- * @return wait for all wrapper
- */
- public static SwitchTestWaitForAllEvent createDefaultWaitForAllEvent(
- SwitchTestWaitForRpcEvent... events) {
- SwitchTestWaitForAllEventImpl eventBag = new SwitchTestWaitForAllEventImpl();
- HashSet<SwitchTestWaitForRpcEvent> eventsSet = new HashSet<>(Arrays.asList(events));
- eventBag.setEventBag(eventsSet);
- return eventBag;
- }
-
- /**
- * @param xid
- * @param version
- * @param builder
- * @return original builder
- */
- public static <E> E setupHeader(long xid, short version, E builder) {
- try {
- Class<?> builderClazz = builder.getClass();
- builderClazz.getMethod("setXid", Long.class).invoke(builder, xid);
- builderClazz.getMethod("setVersion", Short.class).invoke(builder,
- version);
- } catch (Exception e) {
- LOG.error(e.getMessage(), e);
- }
-
- return builder;
- }
-
- /**
- * use {@link #DEFAULT_VERSION}
- * @param xid
- * @param builder
- * @return original builder
- */
- public static <E> E setupHeader(long xid, E builder) {
- return setupHeader(xid, DEFAULT_VERSION, builder);
- }
-
- /**
- * @param connectionConductor
- * @return scenario callback
- */
- public static SwitchTestCallbackEventImpl createConnectionReadyCallback(
- final ConnectionReadyListener connectionConductor) {
- SwitchTestCallbackEventImpl connectionReadyCallback = new SwitchTestCallbackEventImpl();
- connectionReadyCallback.setCallable(new Callable<Void>() {
- @Override
- public Void call() throws Exception {
- connectionConductor.onConnectionReady();
- return null;
- }
- });
- return connectionReadyCallback;
- }
-
-}