Bump to odlparent-9.0.0/yangtools-7.0.1-SNAPSHOT
[mdsal.git] / dom / mdsal-dom-broker / src / main / java / org / opendaylight / mdsal / dom / broker / DOMActionRoutingTable.java
index 0b6b7e12bcca08839af2136ebde9003ba31c9e45..a118cfe5e853226c58712dc9e530722ad5f70f20 100644 (file)
@@ -19,13 +19,8 @@ import org.opendaylight.mdsal.dom.api.DOMActionImplementation;
 import org.opendaylight.mdsal.dom.api.DOMActionInstance;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
-import org.opendaylight.yangtools.yang.model.api.ActionNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
-import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
 
 /**
  * Definition of Action routing table.
@@ -59,22 +54,8 @@ final class DOMActionRoutingTable extends AbstractDOMRoutingTable<DOMActionInsta
     @Override
     protected DOMActionRoutingTableEntry createOperationEntry(final EffectiveModelContext context,
             final Absolute type, final Map<DOMDataTreeIdentifier, List<DOMActionImplementation>> implementations) {
-        final ActionDefinition actionDef = findActionDefinition(context, type);
-        if (actionDef == null) {
-            //FIXME: return null directly instead of providing kind of unknown entry.
-            return null;
-        }
-
-        return new DOMActionRoutingTableEntry(type, implementations);
-    }
-
-    private static ActionDefinition findActionDefinition(final SchemaContext context, final Absolute path) {
-        // FIXME: use direct search
-        final SchemaPath legacy = path.asSchemaPath();
-        final SchemaNode node = SchemaContextUtil.findDataSchemaNode(context, legacy.getParent());
-        if (node instanceof ActionNodeContainer) {
-            return ((ActionNodeContainer) node).findAction(legacy.getLastComponent()).orElse(null);
-        }
-        return null;
+        return context.findSchemaTreeNode(ActionDefinition.class, type)
+            .map(dummy -> new DOMActionRoutingTableEntry(type, implementations))
+            .orElse(null);
     }
 }