From 3c52447c86c15ba32198dfcc12f0fdcd6f86e474 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 31 Jan 2023 22:46:27 +0100 Subject: [PATCH] Revert "Make CamelCaseWithNamespaceNamingStrategy reusable" This reverts commit d33edd51027f6081eca64dbe492d6ce6b69afa84. As it turns out we do not need fallback for yang-data after all. JIRA: MDSAL-675 Change-Id: I3ecba0c7d93bc3e0d33479221b95adea40b4befe Signed-off-by: Robert Varga --- .../AbstractNamespacedNamingStrategy.java | 40 ------------------- .../impl/reactor/CamelCaseNamingStrategy.java | 17 ++++++-- ...CamelCaseWithNamespaceNamingStrategy.java} | 6 +-- 3 files changed, 17 insertions(+), 46 deletions(-) delete mode 100644 binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractNamespacedNamingStrategy.java rename binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/{AppendNamespaceNamingStrategy.java => CamelCaseWithNamespaceNamingStrategy.java} (89%) diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractNamespacedNamingStrategy.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractNamespacedNamingStrategy.java deleted file mode 100644 index 144c21c87a..0000000000 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractNamespacedNamingStrategy.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2023 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.mdsal.binding.generator.impl.reactor; - -import static java.util.Objects.requireNonNull; - -import com.google.common.base.MoreObjects.ToStringHelper; -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * A {@link ClassNamingStrategy} which considers a {@link StatementNamespace} when assigning names. - */ -@NonNullByDefault -abstract class AbstractNamespacedNamingStrategy extends ClassNamingStrategy { - private final StatementNamespace namespace; - - AbstractNamespacedNamingStrategy(final StatementNamespace namespace) { - this.namespace = requireNonNull(namespace); - } - - @Override - final @NonNull ClassNamingStrategy fallback() { - return new AppendNamespaceNamingStrategy(this); - } - - final StatementNamespace namespace() { - return namespace; - } - - @Override - ToStringHelper addToStringAttributes(final ToStringHelper helper) { - return helper.add("namespace", namespace); - } -} diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseNamingStrategy.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseNamingStrategy.java index 64da5736e8..c0e20918ea 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseNamingStrategy.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseNamingStrategy.java @@ -10,16 +10,18 @@ package org.opendaylight.mdsal.binding.generator.impl.reactor; import static java.util.Objects.requireNonNull; import com.google.common.base.MoreObjects.ToStringHelper; +import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNullByDefault; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.common.AbstractQName; @NonNullByDefault -final class CamelCaseNamingStrategy extends AbstractNamespacedNamingStrategy { +final class CamelCaseNamingStrategy extends ClassNamingStrategy { + private final StatementNamespace namespace; private final AbstractQName nodeIdentifier; CamelCaseNamingStrategy(final StatementNamespace namespace, final AbstractQName nodeIdentifier) { - super(namespace); + this.namespace = requireNonNull(namespace); this.nodeIdentifier = requireNonNull(nodeIdentifier); } @@ -28,6 +30,15 @@ final class CamelCaseNamingStrategy extends AbstractNamespacedNamingStrategy { return nodeIdentifier; } + StatementNamespace namespace() { + return namespace; + } + + @Override + @NonNull ClassNamingStrategy fallback() { + return new CamelCaseWithNamespaceNamingStrategy(this); + } + @Override String simpleClassName() { return BindingMapping.getClassName(nodeIdentifier.getLocalName()); @@ -35,6 +46,6 @@ final class CamelCaseNamingStrategy extends AbstractNamespacedNamingStrategy { @Override ToStringHelper addToStringAttributes(final ToStringHelper helper) { - return super.addToStringAttributes(helper.add("localName", nodeIdentifier.getLocalName())); + return helper.add("localName", nodeIdentifier.getLocalName()).add("namespace", namespace); } } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AppendNamespaceNamingStrategy.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseWithNamespaceNamingStrategy.java similarity index 89% rename from binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AppendNamespaceNamingStrategy.java rename to binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseWithNamespaceNamingStrategy.java index b21be7e4c7..d17483c1f2 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AppendNamespaceNamingStrategy.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseWithNamespaceNamingStrategy.java @@ -12,10 +12,10 @@ import static java.util.Objects.requireNonNull; import com.google.common.base.MoreObjects.ToStringHelper; import org.opendaylight.yangtools.yang.common.AbstractQName; -final class AppendNamespaceNamingStrategy extends ClassNamingStrategy { - private final AbstractNamespacedNamingStrategy delegate; +final class CamelCaseWithNamespaceNamingStrategy extends ClassNamingStrategy { + private final CamelCaseNamingStrategy delegate; - AppendNamespaceNamingStrategy(final AbstractNamespacedNamingStrategy delegate) { + CamelCaseWithNamespaceNamingStrategy(final CamelCaseNamingStrategy delegate) { this.delegate = requireNonNull(delegate); } -- 2.36.6