Neutron Model update
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / AbstractNeutronInterface.java
index 0244a16e5a79e8be462ba0e1af3bb0decf6cd35f..58e7456d9025441c8b14662b7bbb5f652626d964 100644 (file)
@@ -78,9 +78,11 @@ public abstract class AbstractNeutronInterface<T extends DataObject & Identifiab
     private final Class<? extends Builder<T>> builderClass;
     private final Method setUuid;
     private final Method setTenantId;
+    private final Method setProjectId;
     private final Method setName;
     private final Method setAdminStateUp;
     private final Method setStatus;
+    private final Method setRevisionNumber;
 
     AbstractNeutronInterface(Class<? extends Builder<T>> builderClass, DataBroker db) {
         this.db = Preconditions.checkNotNull(db);
@@ -101,9 +103,14 @@ public abstract class AbstractNeutronInterface<T extends DataObject & Identifiab
             setTenantId = builderClass.getDeclaredMethod("setTenantId", Uuid.class);
             if (INeutronBaseAttributes.class.isAssignableFrom(neutronObjectClass)) {
                 setName = builderClass.getDeclaredMethod("setName", String.class);
+                setProjectId = builderClass.getDeclaredMethod("setProjectId", String.class);
+                setRevisionNumber = builderClass.getDeclaredMethod("setRevisionNumber", Long.class);
             } else {
                 setName = null;
+                setProjectId = null;
+                setRevisionNumber = null;
             }
+
             if (INeutronAdminAttributes.class.isAssignableFrom(neutronObjectClass)) {
                 setAdminStateUp = builderClass.getDeclaredMethod("setAdminStateUp", Boolean.class);
                 setStatus = builderClass.getDeclaredMethod("setStatus", String.class);
@@ -140,6 +147,9 @@ public abstract class AbstractNeutronInterface<T extends DataObject & Identifiab
             if (neutronObject.getTenantID() != null && !neutronObject.getTenantID().isEmpty()) {
                 setTenantId.invoke(builder, toUuid(neutronObject.getTenantID()));
             }
+            if (neutronObject.getProjectID() != null) {
+                setProjectId.invoke(builder, neutronObject.getTenantID());
+            }
         } catch (IllegalAccessException | InvocationTargetException e) {
             throw new IllegalArgumentException(e);
         }
@@ -153,6 +163,9 @@ public abstract class AbstractNeutronInterface<T extends DataObject & Identifiab
         if (baseAttributes.getTenantId() != null) {
             answer.setTenantID(baseAttributes.getTenantId());
         }
+        if (baseAttributes.getProjectId() != null) {
+            answer.setProjectID(baseAttributes.getProjectId());
+        }
     }
 
     protected <S1 extends INeutronBaseAttributes<S1>, M extends BaseAttributes, B extends Builder<M>>
@@ -162,6 +175,9 @@ public abstract class AbstractNeutronInterface<T extends DataObject & Identifiab
             if (neutronObject.getName() != null) {
                 setName.invoke(builder, neutronObject.getName());
             }
+            if (neutronObject.getRevisionNumber() != null) {
+                setRevisionNumber.invoke(builder, neutronObject.getRevisionNumber());
+            }
         } catch (IllegalAccessException | InvocationTargetException e) {
             throw new IllegalArgumentException(e);
         }
@@ -173,6 +189,9 @@ public abstract class AbstractNeutronInterface<T extends DataObject & Identifiab
         if (baseAttributes.getName() != null) {
             answer.setName(baseAttributes.getName());
         }
+        if (baseAttributes.getRevisionNumber() != null) {
+            answer.setRevisionNumber(baseAttributes.getRevisionNumber());
+        }
     }
 
     protected <S1 extends INeutronAdminAttributes<S1>, M extends BaseAttributes & AdminAttributes, B extends Builder<M>>