import opendaylight-l2-types {prefix types;revision-date "2013-08-27";}
import opendaylight-match-types {prefix match-type;revision-date "2013-10-26";}
import opendaylight-table-types {prefix table-type;revision-date "2013-10-26";}
+ import opendaylight-action-types {prefix action-type;revision-date "2013-11-12";}
+
revision "2013-07-09" {
description "";
leaf egress {
type inv:node-connector-ref;
}
+ leaf buffer-id {
+ type uint32;
+ }
+
uses raw-packet;
+ uses action-type:action-list;
}
}
}
@Deprecated
void putRuntimeData(P path, D data);
+ /**
+ * Store a piece of data at specified path. This acts as a merge operation,
+ * which is to say that any pre-existing data which is not explicitly
+ * overwritten will be preserved. This means that if you store a container,
+ * its child lists will be merged. Performing the following put operations:
+ *
+ * 1) container { list [ a ] }
+ * 2) container { list [ b ] }
+ *
+ * will result in the following data being present:
+ *
+ * container { list [ a, b ] }
+ *
+ * This also means that storing the container will preserve any augmentations
+ * which have been attached to it.
+ *
+ * If you require an explicit replace operation, perform
+ * {@link removeOperationalData} first.
+ */
void putOperationalData(P path, D data);
+ /**
+ * Store a piece of data at specified path. This acts as a merge operation,
+ * which is to say that any pre-existing data which is not explicitly
+ * overwritten will be preserved. This means that if you store a container,
+ * its child lists will be merged. Performing the following put operations:
+ *
+ * 1) container { list [ a ] }
+ * 2) container { list [ b ] }
+ *
+ * will result in the following data being present:
+ *
+ * container { list [ a, b ] }
+ *
+ * This also means that storing the container will preserve any augmentations
+ * which have been attached to it.
+ *
+ * If you require an explicit replace operation, perform
+ * {@link removeConfigurationData} first.
+ */
void putConfigurationData(P path, D data);
/**
def RpcResult<Void> finish(HashMapDataStoreTransaction transaction) {
val modification = transaction.modification;
- configuration.putAll(modification.updatedConfigurationData);
- operational.putAll(modification.updatedOperationalData);
-
for (removal : modification.removedConfigurationData) {
remove(configuration,removal);
}
for (removal : modification.removedOperationalData) {
remove(operational,removal);
}
+ configuration.putAll(modification.updatedConfigurationData);
+ operational.putAll(modification.updatedOperationalData);
+
return Rpcs.getRpcResult(true, null, Collections.emptySet);
}
if(node.keyDefinition === null || node.keyDefinition.empty) {
return modified;
- }
+ }
val originalMap = (original as List).toIndexMap(node.keyDefinition);
val modifiedMap = (modified as List).toIndexMap(node.keyDefinition);
if(originalEntry != null) {
originalMap.remove(entry.key);
mergedNodes.add(merge(node,originalEntry,entry.value,configurational));
-
+ } else {
+ mergedNodes.add(entry.value);
}
}
mergedNodes.addAll(originalMap.values);