java_gen: support action and instruction IDs
diff --git a/java_gen/java_model.py b/java_gen/java_model.py
index 8f5434e..7aa4857 100644
--- a/java_gen/java_model.py
+++ b/java_gen/java_model.py
@@ -470,6 +470,15 @@
return ("action", "OFActionExperimenter", None)
else:
return ("action", "OFAction", None)
+ elif self.ir_class.is_instanceof("of_action_id"):
+ if self.ir_class.is_subclassof('of_action_id_bsn'):
+ return ("actionid", "OFActionIdBsn", None)
+ elif self.ir_class.is_subclassof('of_action_id_nicira'):
+ return ("actionid", "OFActionIdNicira", None)
+ elif self.ir_class.is_subclassof('of_action_id_experimenter'):
+ return ("actionid", "OFActionIdExperimenter", None)
+ else:
+ return ("actionid", "OFActionId", None)
elif self.ir_class.is_instruction:
if self.ir_class.is_subclassof('of_instruction_bsn'):
return ("instruction", "OFInstructionBsn", None)
@@ -477,6 +486,13 @@
return ("instruction", "OFInstructionExperimenter", None)
else:
return ("instruction", "OFInstruction", None)
+ elif self.ir_class.is_instanceof('of_instruction_id'):
+ if self.ir_class.is_subclassof('of_instruction_id_bsn'):
+ return ("instructionid", "OFInstructionIdBsn", None)
+ elif self.ir_class.is_subclassof('of_instruction_id_experimenter'):
+ return ("instructionid", "OFInstructionIdExperimenter", None)
+ else:
+ return ("instructionid", "OFInstructionId", None)
elif re.match(r'OFBsnVport.+$', self.name):
return ("", "OFBsnVport", None)
elif self.name == "OFOxm":
diff --git a/java_gen/templates/_imports.java b/java_gen/templates/_imports.java
index cf7334d..af529bc 100644
--- a/java_gen/templates/_imports.java
+++ b/java_gen/templates/_imports.java
@@ -7,8 +7,10 @@
import java.util.Map;
import org.projectfloodlight.openflow.protocol.*;
import org.projectfloodlight.openflow.protocol.action.*;
+import org.projectfloodlight.openflow.protocol.actionid.*;
import org.projectfloodlight.openflow.protocol.meterband.*;
import org.projectfloodlight.openflow.protocol.instruction.*;
+import org.projectfloodlight.openflow.protocol.instructionid.*;
import org.projectfloodlight.openflow.protocol.match.*;
import org.projectfloodlight.openflow.protocol.oxm.*;
import org.projectfloodlight.openflow.protocol.queueprop.*;