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());
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) {
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);
}
}
}
+ 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
}