From: Robert Varga Date: Fri, 29 May 2020 12:20:29 +0000 (+0200) Subject: Cleanup testutils implementation X-Git-Tag: v6.0.1~20 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=bdc6e80d0b58fc9b7a1f0bb12a909b4062385232;p=mdsal.git Cleanup testutils implementation We can make the code here more in line with MDSAL coding standards and fix a few warnings. Change-Id: I1e8c96aa81df0d073369c1a6ba7bba57329ac1de Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java b/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java index c770bf4390..fe28b6f6b5 100644 --- a/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java +++ b/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java @@ -39,7 +39,6 @@ import org.slf4j.LoggerFactory; * @author Michael Vorburger.ch */ public class DataBrokerFailuresImpl extends ForwardingDataBroker implements DataBrokerFailures { - private static final Logger LOG = LoggerFactory.getLogger(DataBrokerFailuresImpl.class); private final DataBroker delegate; @@ -49,7 +48,7 @@ public class DataBrokerFailuresImpl extends ForwardingDataBroker implements Data private final AtomicInteger howManyFailingCommits = new AtomicInteger(); private boolean commitAndThrowException = false; - public DataBrokerFailuresImpl(DataBroker delegate) { + public DataBrokerFailuresImpl(final DataBroker delegate) { this.delegate = delegate; } @@ -59,26 +58,26 @@ public class DataBrokerFailuresImpl extends ForwardingDataBroker implements Data } @Override - public void failReads(ReadFailedException exception) { + public void failReads(final ReadFailedException exception) { unfailReads(); readException = requireNonNull(exception, "exception == null"); } @Override - public void failReads(int howManyTimes, ReadFailedException exception) { + public void failReads(final int howManyTimes, final ReadFailedException exception) { unfailReads(); howManyFailingReads.set(howManyTimes); readException = requireNonNull(exception, "exception == null"); } @Override - public void failCommits(TransactionCommitFailedException exception) { + public void failCommits(final TransactionCommitFailedException exception) { unfailCommits(); this.commitException = requireNonNull(exception, "exception == null"); } @Override - public void failCommits(int howManyTimes, TransactionCommitFailedException exception) { + public void failCommits(final int howManyTimes, final TransactionCommitFailedException exception) { howManyFailingCommits.set(howManyTimes); this.commitException = requireNonNull(exception, "exception == null"); } @@ -105,43 +104,43 @@ public class DataBrokerFailuresImpl extends ForwardingDataBroker implements Data @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", justification = "https://github.com/spotbugs/spotbugs/issues/811") - private FluentFuture handleCommit(Supplier> commitMethod) { + private FluentFuture handleCommit( + final Supplier> commitMethod) { if (howManyFailingCommits.decrementAndGet() == -1) { commitException = null; } if (commitException == null) { return commitMethod.get(); - } else { - if (commitAndThrowException) { - try { - commitMethod.get().get(); - } catch (InterruptedException | ExecutionException e) { - LOG.warn("Exception while waiting for committed transaction", e); - } + } + + if (commitAndThrowException) { + try { + commitMethod.get().get(); + } catch (InterruptedException | ExecutionException e) { + LOG.warn("Exception while waiting for committed transaction", e); } - return FluentFuture.from(Futures.immediateFailedFuture(commitException)); } + return FluentFuture.from(Futures.immediateFailedFuture(commitException)); } public FluentFuture> handleRead( - BiFunction, FluentFuture>> readMethod, - LogicalDatastoreType store, InstanceIdentifier path) { + final BiFunction, FluentFuture>> readMethod, + final LogicalDatastoreType store, final InstanceIdentifier path) { if (howManyFailingReads.decrementAndGet() == -1) { readException = null; } if (readException == null) { return readMethod.apply(store, path); - } else { - return FluentFuture.from(Futures.immediateFailedFuture(readException)); } + return FluentFuture.from(Futures.immediateFailedFuture(readException)); } @Override public ReadWriteTransaction newReadWriteTransaction() { return new ForwardingReadWriteTransaction(delegate.newReadWriteTransaction()) { @Override - public FluentFuture> read(LogicalDatastoreType store, - InstanceIdentifier path) { + public FluentFuture> read(final LogicalDatastoreType store, + final InstanceIdentifier path) { return handleRead(super::read, store, path); } diff --git a/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/XtendYangBeanGenerator.java b/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/XtendYangBeanGenerator.java index 53d4371f6b..6e87c5ab15 100644 --- a/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/XtendYangBeanGenerator.java +++ b/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/XtendYangBeanGenerator.java @@ -40,37 +40,24 @@ class XtendYangBeanGenerator extends XtendBeanGenerator { private final AugmentableExtension augmentableExtension = new AugmentableExtension(); - private boolean useBuilderExtensions(final Object bean) { - return bean instanceof DataObject; - } - @Override public String getExpression(final Object bean) { final String beanText = super.getExpression(bean); if (useBuilderExtensions(bean)) { return new StringBuilder("import static extension ").append(XtendBuilderExtensions.class.getName()) .append(".operator_doubleGreaterThan\n\n").append(beanText).toString(); - } else { - return beanText; } + return beanText; } @Override protected boolean isUsingBuilder(final Object bean, final Class builderClass) { - if (useBuilderExtensions(bean)) { - return false; - } else { - return super.isUsingBuilder(bean, builderClass); - } + return useBuilderExtensions(bean) ? false : super.isUsingBuilder(bean, builderClass); } @Override protected String getOperator(final Object bean, final Class builderClass) { - if (useBuilderExtensions(bean)) { - return ">>"; - } else { - return super.getOperator(bean, builderClass); - } + return useBuilderExtensions(bean) ? ">>" : super.getOperator(bean, builderClass); } @Override @@ -79,14 +66,12 @@ class XtendYangBeanGenerator extends XtendBeanGenerator { DataContainer dataContainerBean = (DataContainer) bean; Optional> optBuilderClass = getOptionalBuilderClassByAppendingBuilderToClassName( dataContainerBean.implementedInterface()); - if (optBuilderClass.isPresent()) { - return super.getNewBeanExpression(dataContainerBean, optBuilderClass.get()); - } else { + if (optBuilderClass.isEmpty()) { throw new IllegalArgumentException("DataContainer has no *Builder class: " + bean.getClass()); } - } else { - return super.getNewBeanExpression(bean); + return super.getNewBeanExpression(dataContainerBean, optBuilderClass.get()); } + return super.getNewBeanExpression(bean); } @Override @@ -120,16 +105,12 @@ class XtendYangBeanGenerator extends XtendBeanGenerator { // We sort the augmentations by Class type, because the Map has unpredictable order: .sorted(Comparator.comparing(e2 -> e2.getKey().getName())) .forEachOrdered(e -> { - sb.append("addAugmentation("); - sb.append(stringify(e.getKey())); - sb.append(", "); - sb.append(getNewBeanExpression(e.getValue())); - sb.append(")"); + sb.append("addAugmentation(").append(stringify(e.getKey())).append(", ") + .append(getNewBeanExpression(e.getValue())).append(')'); }); return sb; - } else { - return ""; } + return ""; } /* @@ -150,4 +131,7 @@ class XtendYangBeanGenerator extends XtendBeanGenerator { } */ + private static boolean useBuilderExtensions(final Object bean) { + return bean instanceof DataObject; + } } diff --git a/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/AugmentableExtensionTest.java b/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/AugmentableExtensionTest.java index cd3e399104..1678954d66 100644 --- a/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/AugmentableExtensionTest.java +++ b/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/AugmentableExtensionTest.java @@ -57,7 +57,7 @@ public class AugmentableExtensionTest extends AbstractDataBrokerTest { Top actualTop = readTx.read(OPERATIONAL, id).get().get(); AssertBeans.assertEqualByText("#{\n}", augmentableExtension.getAugmentations(actualTop)); - TopLevelList topLevelList = actualTop.getTopLevelList().values().iterator().next(); + TopLevelList topLevelList = actualTop.nonnullTopLevelList().values().iterator().next(); AssertDataObjects.assertEqualByText("#{\n" + " TreeComplexUsesAugment -> new TreeComplexUsesAugmentBuilder >> [\n" + " containerWithUses = new ContainerWithUsesBuilder >> [\n" @@ -67,8 +67,8 @@ public class AugmentableExtensionTest extends AbstractDataBrokerTest { + "}", augmentableExtension.getAugmentations(topLevelList)); } - void put(WriteTransaction tx, LogicalDatastoreType store, - Map.Entry, T> obj) { + void put(final WriteTransaction tx, final LogicalDatastoreType store, + final Map.Entry, T> obj) { tx.put(OPERATIONAL, obj.getKey(), obj.getValue()); } diff --git a/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/ExpectedObjects.java b/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/ExpectedObjects.java index f673303b04..f7645569e9 100644 --- a/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/ExpectedObjects.java +++ b/binding/mdsal-binding-test-utils/src/test/java/org/opendaylight/mdsal/binding/testutils/ExpectedObjects.java @@ -9,9 +9,7 @@ package org.opendaylight.mdsal.binding.testutils; import com.google.common.collect.Maps; import java.util.Collections; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexUsesAugment; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexUsesAugmentBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.complex.from.grouping.ContainerWithUses; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.complex.from.grouping.ContainerWithUsesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.TopBuilder; @@ -32,25 +30,20 @@ public final class ExpectedObjects { } public static TopLevelList topLevelList() { - TopLevelListBuilder it = new TopLevelListBuilder(); - TopLevelListKey topLevelListKey = new TopLevelListKey("foo"); - it.withKey(topLevelListKey); - it.setName("foo"); - TreeComplexUsesAugmentBuilder treeComplexUsesAugmentBuilder = new TreeComplexUsesAugmentBuilder(); - ContainerWithUsesBuilder containerWithUsesBuilder = new ContainerWithUsesBuilder(); - containerWithUsesBuilder.setLeafFromGrouping("foo"); - ContainerWithUses containerWithUses = containerWithUsesBuilder.build(); - treeComplexUsesAugmentBuilder.setContainerWithUses(containerWithUses); - TreeComplexUsesAugment treeComplexUsesAugment = treeComplexUsesAugmentBuilder.build(); - it.addAugmentation(TreeComplexUsesAugment.class, treeComplexUsesAugment); - return it.build(); + return new TopLevelListBuilder() + .withKey(new TopLevelListKey("foo")) + .setName("foo") + .addAugmentation(new TreeComplexUsesAugmentBuilder() + .setContainerWithUses(new ContainerWithUsesBuilder().setLeafFromGrouping("foo").build()) + .build()) + .build(); } public static Top top() { return new TopBuilder() .setTopLevelList(Maps.uniqueIndex(Collections.singletonList(new TopLevelListBuilder() .setName("foo") - .addAugmentation(TreeComplexUsesAugment.class, new TreeComplexUsesAugmentBuilder() + .addAugmentation(new TreeComplexUsesAugmentBuilder() .setContainerWithUses(new ContainerWithUsesBuilder().setLeafFromGrouping("foo").build()) .build()) .build()), TopLevelList::key))