pcep.impl.messages fix 15/21615/3
authorIveta Halanova <iveta.halanova@pantheon.sk>
Tue, 2 Jun 2015 08:30:18 +0000 (10:30 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 2 Jun 2015 18:35:39 +0000 (18:35 +0000)
Fix of last merged commit faults in this package.
PCEPErrorMessageParser - reordered switch cases in order to return original functionality.
PCEPReplyMessageParser - BANDWIDTH_IN return value fix; extraction of one more switch

Change-Id: I7165fc1810abb1c79fab8f30a36130e4a44c740f
Signed-off-by: Iveta Halanova <iveta.halanova@pantheon.sk>
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/message/PCEPErrorMessageParser.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/message/PCEPReplyMessageParser.java

index e1a89b14d0722afbdcdd8d2749d7098b8161f24b..18380d697296dcce4a0bf43f75131a090aeb6e70 100644 (file)
@@ -137,18 +137,18 @@ public class PCEPErrorMessageParser extends AbstractMessageParser {
 
     private State insertObject(final State state, final List<Errors> errorObjects, final Object obj, final List<Rps> requestParameters, final PcerrMessageBuilder b) {
         switch (state) {
-        case ERROR_IN:
-            if (obj instanceof ErrorObject) {
-                final ErrorObject o = (ErrorObject) obj;
-                errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
-                return State.ERROR_IN;
-            }
         case RP_IN:
             if (obj instanceof Rp) {
                 final Rp o = ((Rp) obj);
                 requestParameters.add(new RpsBuilder().setRp(o).build());
                 return State.RP_IN;
             }
+        case ERROR_IN:
+            if (obj instanceof ErrorObject) {
+                final ErrorObject o = (ErrorObject) obj;
+                errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
+                return State.ERROR_IN;
+            }
         case OPEN:
             if (obj instanceof Open) {
                 b.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen((Open) obj).build()).build());
index 21a77441dbd33b1ec34e5f9306da8c2ae05a1dbb..d948fcf0eefdf35bb68b8b6ce5c35355d72b0bd0 100644 (file)
@@ -271,7 +271,7 @@ public class PCEPReplyMessageParser extends AbstractMessageParser {
         case BANDWIDTH_IN:
             if (obj instanceof Metric) {
                 pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
-                return State.METRIC_IN;
+                return State.BANDWIDTH_IN;
             }
         case METRIC_IN:
             if (obj instanceof Iro) {
@@ -293,47 +293,7 @@ public class PCEPReplyMessageParser extends AbstractMessageParser {
         State state = State.INIT;
         while (!objects.isEmpty() && !state.equals(State.END)) {
             obj = objects.get(0);
-
-            switch (state) {
-            case INIT:
-                state = State.LSPA_IN;
-                if (obj instanceof Lspa) {
-                    builder.setLspa((Lspa) obj);
-                    break;
-                }
-            case LSPA_IN:
-                state = State.OF_IN;
-                if (obj instanceof Of) {
-                    builder.setOf((Of) obj);
-                    break;
-                }
-            case OF_IN:
-                state = State.BANDWIDTH_IN;
-                if (obj instanceof Bandwidth) {
-                    builder.setBandwidth((Bandwidth) obj);
-                    break;
-                }
-            case BANDWIDTH_IN:
-                state = State.METRIC_IN;
-                if (obj instanceof Metric) {
-                    pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
-                    state = State.BANDWIDTH_IN;
-                    break;
-                }
-            case METRIC_IN:
-                state = State.IRO_IN;
-                if (obj instanceof Iro) {
-                    builder.setIro((Iro) obj);
-                    break;
-                }
-            case IRO_IN:
-                state = State.END;
-                break;
-            case END:
-                break;
-            default:
-                break;
-            }
+            state = insertObject(state, obj, builder, pathMetrics);
             if (!state.equals(State.END)) {
                 objects.remove(0);
             }
@@ -343,6 +303,41 @@ public class PCEPReplyMessageParser extends AbstractMessageParser {
         }
     }
 
+    private State insertObject(final State state, final Object obj, final PathsBuilder builder, final List<Metrics> pathMetrics) {
+        switch (state) {
+        case INIT:
+            if (obj instanceof Lspa) {
+                builder.setLspa((Lspa) obj);
+                return State.LSPA_IN;
+            }
+        case LSPA_IN:
+            if (obj instanceof Of) {
+                builder.setOf((Of) obj);
+                return State.OF_IN;
+            }
+        case OF_IN:
+            if (obj instanceof Bandwidth) {
+                builder.setBandwidth((Bandwidth) obj);
+                return State.BANDWIDTH_IN;
+            }
+        case BANDWIDTH_IN:
+            if (obj instanceof Metric) {
+                pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
+                return State.BANDWIDTH_IN;
+            }
+        case METRIC_IN:
+            if (obj instanceof Iro) {
+                builder.setIro((Iro) obj);
+                return State.IRO_IN;
+            }
+        case IRO_IN:
+        case END:
+            return State.END;
+        default:
+            return state;
+        }
+    }
+
     private enum State {
         INIT, LSPA_IN, OF_IN, BANDWIDTH_IN, METRIC_IN, IRO_IN, END
     }