diff options
author | eikrwaq <waqas.ikram@ericsson.com> | 2018-03-21 15:31:05 +0000 |
---|---|---|
committer | eikrwaq <waqas.ikram@ericsson.com> | 2018-03-22 15:00:51 +0000 |
commit | 586e553d141e087566a6b064121910089cf52cff (patch) | |
tree | 73cac4eb73e083e567346488e1ac9b4c895b90df /site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java | |
parent | 64627f345bfe5e5bd62524783594655dd8456ace (diff) |
Add junit and refactor code
Adding Junit tests in modules and refactoring code
Change-Id: I887f1b2371d9e3d4a4e2ce6e7e1f3c97a361f283
Issue-ID: POLICY-704
Signed-off-by: eikrwaq <waqas.ikram@ericsson.com>
Diffstat (limited to 'site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java')
-rw-r--r-- | site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java new file mode 100644 index 00000000..a28deece --- /dev/null +++ b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java @@ -0,0 +1,138 @@ +/*- + * ============LICENSE_START======================================================= + * site-manager + * ================================================================================ + * Copyright (C) 2018 Ericsson. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.sitemanager.utils; + +import java.util.List; + +public enum ExtraCommandLineArgument { + SHOW("show") { + + @Override + public boolean isValid(final List<String> argList, final Printable printable) { + if (argList.size() != 1) { + printable.println(ErrorMessages.SHOW_EXTRA_ARGUMENTS); + return false; + } + return true; + } + + @Override + public boolean isValid(final List<String> argList, final Printable printable, + final boolean optionLetterSpecified) { + return isValid(argList, printable); + } + }, + SET_ADMIN_STATE("setAdminState") { + @Override + public boolean isValid(final List<String> argList, final Printable printable, + final boolean optionLetterSpecified) { + boolean isValid = true; + switch (argList.size()) { + case 1: + printable.println(ErrorMessages.SET_ADMIN_STATE_MISSING_NEW_STATE_VALUE); + isValid = false; + break; + case 2: + isValid = true; + break; + default: + printable.println(ErrorMessages.SET_ADMIN_STATE_EXTRA_ARGUMENTS); + isValid = false; + } + if (!optionLetterSpecified) { + printable.println(ErrorMessages.SET_ADMIN_STATE_EITHER_S_OR_R_OPTION_IS_NEEDED); + return false; + } + + return isValid; + } + + }, + LOCK("lock") { + + @Override + public boolean isValid(final List<String> argList, final Printable printable, + final boolean optionLetterSpecified) { + boolean isValid = true; + if (argList.size() != 1) { + printable.println(ErrorMessages.LOCK_EXTRA_ARGUMENTS); + isValid = false; + } + if (!optionLetterSpecified) { + printable.println(ErrorMessages.LOCK_EITHER_S_OR_R_OPTION_IS_NEEDED); + isValid = false; + } + return isValid; + } + }, + UNLOCK("unlock") { + + @Override + public boolean isValid(final List<String> argList, final Printable printable, + final boolean optionLetterSpecified) { + boolean isValid = true; + if (argList.size() != 1) { + printable.println(ErrorMessages.UNLOCK_EXTRA_ARGUMENTS); + isValid = false; + } + if (!optionLetterSpecified) { + printable.println(ErrorMessages.UNLOCK_EITHER_S_OR_R_OPTION_IS_NEEDED); + isValid = false; + } + return isValid; + } + }, + INVALID("") { + @Override + public boolean isValid(final List<String> argList, final Printable printable, + final boolean optionLetterSpecified) { + printable.println(argList.get(0) + ErrorMessages.UNKNOWN_COMMAND); + return false; + } + }; + + private final String value; + + private ExtraCommandLineArgument(final String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static ExtraCommandLineArgument getExtraCommandLineArgument(final String value) { + for (final ExtraCommandLineArgument argument : ExtraCommandLineArgument.values()) { + if (argument.getValue().equals(value)) { + return argument; + } + } + return ExtraCommandLineArgument.INVALID; + } + + public boolean isValid(final List<String> argList, final Printable printable) { + return isValid(argList, printable, false); + } + + public abstract boolean isValid(final List<String> argList, final Printable printable, + final boolean optionLetterSpecified); + +} |