diff options
Diffstat (limited to 'v3po/v3po2vpp/src')
2 files changed, 14 insertions, 5 deletions
diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java index 4b4d7b3c1..a3e2f7340 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java @@ -142,6 +142,13 @@ public class BridgeDomainCustomizer LOG.debug("updateCurrentAttributes: id={}, dataBefore={}, dataAfter={}, ctx={}", id, dataBefore, dataAfter, ctx); + // FIXME can be removed after updating mdsal-binding-dom-codec to 0.8.2-Beryllium-SR2 + // and restoring equality check in AbstractCompositeWriter + if (dataBefore.equals(dataAfter)) { + LOG.debug("dataBefore equals dataAfter, update will not be performed"); + return; + } + final String bdName = checkNotNull(dataAfter.getName()); checkArgument(bdName.equals(dataBefore.getName()), "BridgeDomain name changed. It should be deleted and then created."); diff --git a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizerTest.java index 5d5781adb..6e449070f 100644 --- a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizerTest.java +++ b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizerTest.java @@ -239,10 +239,11 @@ public class BridgeDomainCustomizerTest { @Test public void testUpdateUnknownBridgeDomain() throws Exception { final String bdName = "bd1"; - final BridgeDomain bd = generateBridgeDomain("bd1"); + final BridgeDomain bdBefore = generateBridgeDomain(bdName, 0, 1, 0 ,1, 0); + final BridgeDomain bdAfter = generateBridgeDomain(bdName, 1, 1, 0 ,1, 0); try { - customizer.updateCurrentAttributes(BridgeDomainTestUtils.bdIdentifierForName(bdName), bd, bd, ctx); + customizer.updateCurrentAttributes(BridgeDomainTestUtils.bdIdentifierForName(bdName), bdBefore, bdAfter, ctx); } catch (IllegalArgumentException e) { verify(api, never()).bridgeDomainAddDel(any(BridgeDomainAddDel.class)); return; @@ -254,15 +255,16 @@ public class BridgeDomainCustomizerTest { public void testUpdateBridgeDomainFailed() throws Exception { final int bdId = 1; final String bdName = "bd1"; - final BridgeDomain bd = generateBridgeDomain(bdName); + final BridgeDomain bdBefore = generateBridgeDomain(bdName, 0, 1, 0 ,1, 0); + final BridgeDomain bdAfter = generateBridgeDomain(bdName, 1, 1, 0 ,1, 0); namingContext.addName(bdId, bdName); whenBridgeDomainAddDelThenFailure(); try { - customizer.updateCurrentAttributes(BridgeDomainTestUtils.bdIdentifierForName(bdName), bd, bd, ctx); + customizer.updateCurrentAttributes(BridgeDomainTestUtils.bdIdentifierForName(bdName), bdBefore, bdAfter, ctx); } catch (WriteFailedException.UpdateFailedException e) { - verifyBridgeDomainAddOrUpdateWasInvoked(bd, bdId); + verifyBridgeDomainAddOrUpdateWasInvoked(bdAfter, bdId); return; } fail("IllegalStateException was expected"); |