From 5e96cee43018d8f44f50a0fb4fef4f103518750b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 27 Jan 2020 21:26:14 +0100 Subject: [PATCH] Further optimize OrderedBy effective statement dispatch Comparing both argument and declared instance is not necessary. We are using identity comparison, so just do that. Change-Id: I6e28b9013ae2d056907b52f87cd2813bbcdd23c9 Signed-off-by: Robert Varga (cherry picked from commit 40132b0512978eecbeae6133ce357b8beb08a5df) --- .../ordered_by/OrderedByStatementSupport.java | 24 ++++++------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java index e1f02af77b..223b6a44ca 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java @@ -97,23 +97,13 @@ public final class OrderedByStatementSupport final OrderedByStatement declared) { // Aggressively reuse effective instances which are backed by the corresponding empty declared instance, as this // is the case unless there is a weird extension in use. - final String argument = declared.getValue(); - switch (argument) { - case "system": - if (EMPTY_SYSTEM_DECL.equals(declared)) { - return EMPTY_SYSTEM_EFF; - } - break; - case "user": - if (EMPTY_USER_DECL.equals(declared)) { - return EMPTY_USER_EFF; - } - break; - default: - throw new IllegalStateException("Unhandled argument " + argument); + if (EMPTY_USER_DECL.equals(declared)) { + // Most likely to be seen (as system is the default) + return EMPTY_USER_EFF; + } else if (EMPTY_SYSTEM_DECL.equals(declared)) { + return EMPTY_SYSTEM_EFF; + } else { + return new EmptyOrderedByEffectiveStatement(declared); } - - // Declared instance was non-empty, which can happen with extensions - return new EmptyOrderedByEffectiveStatement(declared); } } -- 2.36.6