diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2016-10-20 16:27:47 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2016-10-21 06:56:10 +0000 |
commit | 364aee69d63d434dc4feca42acd58b9b3edfaf90 (patch) | |
tree | e95d543dfba11b061a5829638dc966dea04e371f | |
parent | b1eece37415c11bc1eaff545b58a1eebe26e3aa5 (diff) |
Remove unused builders for union types generated by yangtools
Generated builders are not used in the runtime.
Starting from ODL boron, strings that represent union types,
are processed according to YANG RFC, that is in the order
they are specified in the "type" statement,
unitl a match is found. That makes
builders for union types obsolete.
Change-Id: If9289a0dde34f345a672103d2461a3acd00e2afd
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
11 files changed, 2 insertions, 306 deletions
diff --git a/.gitignore b/.gitignore index 855ab0e1f..c6fe1f56d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ maven-metadata-local.xml *.log .asciidoctor/ **/asciidoc/*.png +# usused builders generated by yangtools +**/org/opendaylight/yang/gen/v1/urn diff --git a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/Ipv4Matcher.java b/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/Ipv4Matcher.java deleted file mode 100755 index 1e70fe1aa..000000000 --- a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/Ipv4Matcher.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105; - -import java.util.List; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; - - -/** - * Class that checks whether {@link String} can represent Ipv4Address. - */ -public final class Ipv4Matcher { - - private static final List<Pattern> PATTERNS = - Ipv4Address.PATTERN_CONSTANTS.stream().map(a -> Pattern.compile(a)).collect(Collectors.toList()); - - public static boolean matches(String candidate) { - return PATTERNS.stream().anyMatch(pattern -> pattern.matcher(candidate).matches()); - } -} diff --git a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/Ipv6Matcher.java b/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/Ipv6Matcher.java deleted file mode 100755 index 74d9c2be8..000000000 --- a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/Ipv6Matcher.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105; - -import java.util.List; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; - -/** - * Class that checks whether {@link String} can represent Ipv6Address - */ -public final class Ipv6Matcher { - - private static final List<Pattern> PATTERNS = - Ipv6Address.PATTERN_CONSTANTS.stream().map(a -> Pattern.compile(a)).collect(Collectors.toList()); - - public static boolean matches(String candidate) { - return PATTERNS.stream().anyMatch(pattern -> pattern.matcher(candidate).matches()); - } -} diff --git a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/MacMatcher.java b/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/MacMatcher.java deleted file mode 100755 index ac58622f0..000000000 --- a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/MacMatcher.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105; - -import java.util.List; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; - -/** - * Class that checks whether {@link String} can represent MacAddress - */ -public class MacMatcher { - - private static final List<Pattern> PATTERNS = - MacAddress.PATTERN_CONSTANTS.stream().map(a -> Pattern.compile(a)).collect(Collectors.toList()); - - public static boolean matches(String candidate) { - return PATTERNS.stream().anyMatch(pattern -> pattern.matcher(candidate).matches()); - } -} diff --git a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/SimpleAddressBuilder.java b/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/SimpleAddressBuilder.java deleted file mode 100644 index aad92c053..000000000 --- a/lisp/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/lisp/address/types/rev151105/SimpleAddressBuilder.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2015 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105; - - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; - -/** - * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string - * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 - - * uint16), or (string - uint32). - * <p/> - * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be - * finished by the user. This class is generated only once to prevent loss of user code. - */ -public final class SimpleAddressBuilder { - - public static SimpleAddress getDefaultInstance(String defaultValue) { - checkNotNull(defaultValue, "Cannot convert null address"); - - if (Ipv4Matcher.matches(defaultValue)) { - return new SimpleAddress(new IpAddress(new Ipv4Address(defaultValue))); - } else if (Ipv6Matcher.matches(defaultValue)) { - return new SimpleAddress(new IpAddress(new Ipv6Address(defaultValue))); - } else if (MacMatcher.matches(defaultValue)) { - return new SimpleAddress(new MacAddress(defaultValue)); - } else { - throw new IllegalArgumentException("Unknown type"); - } - } - -} diff --git a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/or/any/Dot1qTagVlanIdBuilder.java b/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/or/any/Dot1qTagVlanIdBuilder.java deleted file mode 100644 index e9304e291..000000000 --- a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/or/any/Dot1qTagVlanIdBuilder.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.dot1q.tag.or.any; - -import org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.Dot1qVlanId; -import org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.dot1q.tag.or.any.Dot1qTag.VlanId; - - -/** - * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation. - * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32). - * - * The reason behind putting it under src/main/java is: - * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent - * loss of user code. - * - */ -public class Dot1qTagVlanIdBuilder { - - private final static String ANY = "any"; - - public static VlanId getDefaultInstance(java.lang.String defaultValue) { - if (ANY.equals(defaultValue)) { - return new VlanId(VlanId.Enumeration.Any); - } else { - return new VlanId(new Dot1qVlanId(Integer.valueOf(defaultValue))); - } - } - -} diff --git a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/ranges/or/any/Dot1qTagVlanIdBuilder.java b/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/ranges/or/any/Dot1qTagVlanIdBuilder.java deleted file mode 100644 index 685f609ae..000000000 --- a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/ranges/or/any/Dot1qTagVlanIdBuilder.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.dot1q.tag.ranges.or.any; -import org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.dot1q.tag.ranges.or.any.Dot1qTag.VlanId; - - -/** - * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation. - * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32). - * - * The reason behind putting it under src/main/java is: - * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent - * loss of user code. - * - */ -public class Dot1qTagVlanIdBuilder { - - public static VlanId getDefaultInstance(java.lang.String defaultValue) { - throw new java.lang.UnsupportedOperationException("Not yet implemented"); - } - -} diff --git a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/v3po/rev161214/InterfaceNameOrIndexBuilder.java b/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/v3po/rev161214/InterfaceNameOrIndexBuilder.java deleted file mode 100644 index 5151320b8..000000000 --- a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/v3po/rev161214/InterfaceNameOrIndexBuilder.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214; - - -/** - * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation. - * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32). - * - * The reason behind putting it under src/main/java is: - * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent - * loss of user code. - * - */ -public class InterfaceNameOrIndexBuilder { - - public static InterfaceNameOrIndex getDefaultInstance(java.lang.String defaultValue) { - throw new java.lang.UnsupportedOperationException("Not yet implemented"); - } - -} diff --git a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/vpp/classifier/rev161214/OpaqueIndexBuilder.java b/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/vpp/classifier/rev161214/OpaqueIndexBuilder.java deleted file mode 100644 index 2ff7f823f..000000000 --- a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/vpp/classifier/rev161214/OpaqueIndexBuilder.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev161214; - - -/** - * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation. - * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32). - * - * The reason behind putting it under src/main/java is: - * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent - * loss of user code. - * - */ -public class OpaqueIndexBuilder { - - public static OpaqueIndex getDefaultInstance(java.lang.String defaultValue) { - throw new java.lang.UnsupportedOperationException("Not yet implemented"); - } - -} diff --git a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/vpp/classifier/rev161214/VppNodeBuilder.java b/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/vpp/classifier/rev161214/VppNodeBuilder.java deleted file mode 100644 index b339435d4..000000000 --- a/v3po/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/vpp/classifier/rev161214/VppNodeBuilder.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev161214; - - -/** - * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation. - * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32). - * - * The reason behind putting it under src/main/java is: - * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent - * loss of user code. - * - */ -public class VppNodeBuilder { - - public static VppNode getDefaultInstance(java.lang.String defaultValue) { - throw new java.lang.UnsupportedOperationException("Not yet implemented"); - } - -} diff --git a/v3po/v3po2vpp/src/test/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/or/any/Dot1qTagVlanIdBuilderTest.java b/v3po/v3po2vpp/src/test/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/or/any/Dot1qTagVlanIdBuilderTest.java deleted file mode 100644 index 7d17d7850..000000000 --- a/v3po/v3po2vpp/src/test/java/org/opendaylight/yang/gen/v1/urn/ieee/params/xml/ns/yang/dot1q/types/rev150626/dot1q/tag/or/any/Dot1qTagVlanIdBuilderTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.dot1q.tag.or.any; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import org.junit.Test; - -public class Dot1qTagVlanIdBuilderTest { - - @Test - public void testGetDefaultInstanceEnumeration() { - final Dot1qTag.VlanId any = Dot1qTagVlanIdBuilder.getDefaultInstance("any"); - assertEquals(Dot1qTag.VlanId.Enumeration.Any, any.getEnumeration()); - assertNull(any.getDot1qVlanId()); - } - - @Test - public void testGetDefaultInstanceVlanId() { - final Dot1qTag.VlanId any = Dot1qTagVlanIdBuilder.getDefaultInstance("123"); - assertEquals(Integer.valueOf(123), any.getDot1qVlanId().getValue()); - assertNull(any.getEnumeration()); - } - - @Test(expected = NumberFormatException.class) - public void testGetDefaultInstanceFailed() { - final Dot1qTag.VlanId any = Dot1qTagVlanIdBuilder.getDefaultInstance("anny"); - } -}
\ No newline at end of file |