diff options
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); + +} |