2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.openflow.md.core.extension;
10 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterActionSerializerKey;
11 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
12 import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava;
13 import org.opendaylight.openflowplugin.extension.api.path.ActionPath;
14 import org.opendaylight.openflowplugin.openflow.md.core.session.OFSessionUtil;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ExperimenterIdAction;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
23 public final class ActionExtensionHelper {
25 private static final Logger LOG = LoggerFactory
26 .getLogger(ActionExtensionHelper.class);
28 private ActionExtensionHelper() {
29 throw new IllegalAccessError("singleton enforcement");
36 * @return augmentation wrapper containing augmentation depending on matchPath
38 public static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action
39 processAlienAction(Action action, OpenflowVersion ofVersion, ActionPath actionPath) {
41 /** TODO: EXTENSION PROPOSAL (action, OFJava to MD-SAL) */
42 ExperimenterActionSerializerKey key = new ExperimenterActionSerializerKey(
43 ofVersion.getVersion(),
44 action.getAugmentation(ExperimenterIdAction.class).getExperimenter().getValue(),
45 action.getAugmentation(ExperimenterIdAction.class).getSubType());
47 org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action alienAction = null;
48 ConvertorActionFromOFJava<Action, ActionPath> convertor = OFSessionUtil.getExtensionConvertorProvider().getActionConverter(key);
49 if (convertor != null) {
50 alienAction = convertor.convert(