Rework prependAS() 81/85181/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 17 Oct 2019 13:00:59 +0000 (15:00 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 17 Oct 2019 13:00:59 +0000 (15:00 +0200)
commit2d0a37f0d29f7b6a52a65f38344bd83164411c6c
treead71646fb65cea1a11c2757270bde6899c008968
parentc59a50db3ad7e1df0b23b3dbf8af65cf0e059674
Rework prependAS()

We cannot modify lists in-place, so make a proper copy and create
a new list. Fixes the following splat:

java.lang.UnsupportedOperationException: null
at com.google.common.collect.ImmutableList.remove(ImmutableList.java:534) ~[36:com.google.guava:27.1.0.jre]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.AbstractPrependAsPath.prependAS(AbstractPrependAsPath.java:38) ~[232:org.opendaylight.bgpcep.bgp-openconfig-rp-statement:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.LocalAsPathPrependHandler.applyImportAction(LocalAsPathPrependHandler.java:37) ~[232:org.opendaylight.bgpcep.bgp-openconfig-rp-statement:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.LocalAsPathPrependHandler.applyImportAction(LocalAsPathPrependHandler.java:18) ~[232:org.opendaylight.bgpcep.bgp-openconfig-rp-statement:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.ActionsRegistryImpl.applyImportAction(ActionsRegistryImpl.java:314) ~[231:org.opendaylight.bgpcep.bgp-openconfig-rp-spi:0.13.0.SNAPSHOT]
at org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistry.applyImportStatement(StatementRegistry.java:82) ~[231:org.opendaylight.bgpcep.bgp-openconfig-rp-spi:0.13.0.SNAPSHOT]

Change-Id: I6f604e8abdb223fe09e44ac92a752bb6e410ed7f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/AbstractPrependAsPath.java