http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HelpConverter.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HelpConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HelpConverter.java deleted file mode 100644 index e670274..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HelpConverter.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.converters; - -import java.util.List; - -import org.springframework.shell.core.Completion; -import org.springframework.shell.core.Converter; -import org.springframework.shell.core.MethodTarget; - -import org.apache.geode.management.internal.cli.commands.GfshHelpCommands; -import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.shell.Gfsh; - -/** - * {@link Converter} for {@link GfshHelpCommands#obtainHelp(String)} - * - * - * @since GemFire 7.0 - */ -public class HelpConverter implements Converter<String> { - - @Override - public String convertFromText(String existingData, Class<?> dataType, String optionContext) { - - if (optionContext.equals(CliStrings.PARAM_CONTEXT_HELP)) { - return existingData.replaceAll("\"", "").replaceAll("'", ""); - } else { - return null; - } - } - - @Override - public boolean getAllPossibleValues(List<Completion> completionCandidates, Class<?> dataType, - String existingData, String optionContext, MethodTarget arg4) { - - List<String> commandNames = Gfsh.getCurrentInstance().obtainHelpCommandNames(existingData); - - for (String string : commandNames) { - completionCandidates.add(new Completion(string)); - } - if (completionCandidates.size() > 0) { - return true; - } - return false; - } - - @Override - public boolean supports(Class<?> arg0, String optionContext) { - if (String.class.isAssignableFrom(arg0) - && optionContext.equals(CliStrings.PARAM_CONTEXT_HELP)) { - return true; - } - return false; - } -}
http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HintTopicConverter.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HintTopicConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HintTopicConverter.java deleted file mode 100644 index b6f9f81..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HintTopicConverter.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.converters; - -import java.util.List; -import java.util.Set; - -import org.springframework.shell.core.Completion; -import org.springframework.shell.core.Converter; -import org.springframework.shell.core.MethodTarget; - -import org.apache.geode.management.cli.ConverterHint; -import org.apache.geode.management.internal.cli.CommandManager; - -/** - * - * @since GemFire 7.0 - */ -public class HintTopicConverter implements Converter<String> { - - @Override - public boolean supports(Class<?> type, String optionContext) { - return String.class.equals(type) && ConverterHint.HINTTOPIC.equals(optionContext); - } - - @Override - public String convertFromText(String value, Class<?> targetType, String optionContext) { - return value; - } - - @Override - public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType, - String existingData, String optionContext, MethodTarget target) { - if (String.class.equals(targetType) && ConverterHint.HINTTOPIC.equals(optionContext)) { - CommandManager commandManager = CommandManager.getExisting(); - if (commandManager != null) { - Set<String> topicNames = commandManager.getTopicNames(); - - for (String topicName : topicNames) { - if (existingData != null && !existingData.isEmpty()) { - if (topicName.startsWith(existingData)) { // match exact case - completions.add(new Completion(topicName)); - } else if (topicName.toLowerCase().startsWith(existingData.toLowerCase())) { // match - // case - // insensitive - String completionStr = existingData + topicName.substring(existingData.length()); - - completions.add(new Completion(completionStr)); - } - } else { - completions.add(new Completion(topicName)); - } - } - } - } - - return !completions.isEmpty(); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/LogLevelConverter.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/LogLevelConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/LogLevelConverter.java index 3a26240..b303e77 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/LogLevelConverter.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/LogLevelConverter.java @@ -41,7 +41,7 @@ public class LogLevelConverter implements Converter<String> { @Override public boolean supports(Class<?> type, String optionContext) { - return String.class.equals(type) && ConverterHint.LOG_LEVEL.equals(optionContext); + return String.class.equals(type) && optionContext.contains(ConverterHint.LOG_LEVEL); } @Override http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringArrayConverter.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringArrayConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringArrayConverter.java deleted file mode 100644 index eacf181..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringArrayConverter.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.converters; - -import java.util.List; - -import org.springframework.shell.core.Completion; -import org.springframework.shell.core.MethodTarget; - -import org.apache.geode.management.cli.ConverterHint; -import org.apache.geode.management.internal.cli.MultipleValueAdapter; - -/** - * - * @since GemFire 7.0 - * - * - */ -public class StringArrayConverter extends MultipleValueAdapter<String[]> { - - @Override - public String[] convertFromText(String[] value, Class<?> targetType, String context) { - return value; - } - - @Override - public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType, - String[] existingData, String context, MethodTarget target) { - return false; - } - - @Override - public boolean supports(Class<?> type, String optionContext) { - if (String[].class.isAssignableFrom(type) && !optionContext.equals(ConverterHint.DIRS)) { - return true; - } else { - return false; - } - } - -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringListConverter.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringListConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringListConverter.java deleted file mode 100644 index eab096b..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringListConverter.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.converters; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.springframework.shell.core.Completion; -import org.springframework.shell.core.MethodTarget; - -import org.apache.geode.management.cli.ConverterHint; -import org.apache.geode.management.internal.cli.MultipleValueAdapter; - -/** - * - * - * @since GemFire 7.0 - */ -public class StringListConverter extends MultipleValueAdapter<List<String>> { - - @Override - public boolean supports(Class<?> type, String optionContext) { - return List.class.isAssignableFrom(type) && ConverterHint.STRING_LIST.equals(optionContext); - } - - @Override - public List<String> convertFromText(String[] value, Class<?> targetType, String context) { - List<String> list = null; - - if (List.class.isAssignableFrom(targetType) && ConverterHint.STRING_LIST.equals(context) - && value != null && value.length > 0) { - list = new ArrayList<String>(Arrays.asList(value)); - } - return list; - } - - @Override - public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType, - String[] existingData, String context, MethodTarget target) { - return List.class.isAssignableFrom(targetType) && ConverterHint.STRING_LIST.equals(context); - } - -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandException.java deleted file mode 100644 index 7e5cba0..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandException.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandException extends CliException { - private static final long serialVersionUID = 968411094429216130L; - - private CommandTarget commandTarget; - private OptionSet optionSet; - - public CliCommandException(final CommandTarget commandTarget) { - this(commandTarget, null, null); - } - - public CliCommandException(final CommandTarget commandTarget, final OptionSet optionSet) { - this(commandTarget, optionSet, null); - } - - public CliCommandException(final CommandTarget commandTarget, final OptionSet optionSet, - final Throwable cause) { - super(cause); - this.setCommandTarget(commandTarget); - this.setOptionSet(optionSet); - } - - public CommandTarget getCommandTarget() { - return commandTarget; - } - - /** - * TODO: make this immutable - * - * @param commandTarget the commandTarget to set - */ - public void setCommandTarget(CommandTarget commandTarget) { - this.commandTarget = commandTarget; - } - - public OptionSet getOptionSet() { - return optionSet; - } - - /** - * TODO: make this immutable - * - * @param optionSet the optionSet to set - */ - public void setOptionSet(OptionSet optionSet) { - this.optionSet = optionSet; - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandInvalidException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandInvalidException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandInvalidException.java deleted file mode 100644 index a140059..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandInvalidException.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandInvalidException extends CliCommandException { - private static final long serialVersionUID = -2195809850441234116L; - - public CliCommandInvalidException(final CommandTarget commandTarget) { - this(commandTarget, null, null); - } - - public CliCommandInvalidException(final CommandTarget commandTarget, OptionSet optionSet) { - this(commandTarget, optionSet, null); - } - - public CliCommandInvalidException(final Throwable cause) { - this(null, null, cause); - } - - public CliCommandInvalidException(final CommandTarget commandTarget, OptionSet optionSet, - Throwable cause) { - super(commandTarget, optionSet, cause); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandMultiModeOptionException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandMultiModeOptionException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandMultiModeOptionException.java deleted file mode 100644 index acbc496..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandMultiModeOptionException.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandMultiModeOptionException extends CliCommandOptionException { - private static final long serialVersionUID = -5658813370141696448L; - - public static final int MULTIPLE_LEAD_OPTIONS = 1; // TODO: move or delete - public static final int OPTIONS_FROM_MULTIPLE_MODES = 2; // TODO: move or delete - - private String leadOptionString; - private int code; - - public CliCommandMultiModeOptionException(final CommandTarget commandTarget, final Option option, - final String string, final int code) { - this(commandTarget, option, string, code, null); - } - - public CliCommandMultiModeOptionException(final CommandTarget commandTarget, final Option option, - final String string, final int code, final Throwable cause) { - super(commandTarget, option, cause); - this.leadOptionString = string; - this.code = code; - } - - public String getLeadOptionString() { - return leadOptionString; - } - - public int getCode() { - return code; - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandNotAvailableException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandNotAvailableException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandNotAvailableException.java deleted file mode 100644 index c471df2..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandNotAvailableException.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandNotAvailableException extends CliCommandException { - private static final long serialVersionUID = -631339463163773007L; - - public CliCommandNotAvailableException(final CommandTarget commandTarget) { - this(commandTarget, null, null); - } - - public CliCommandNotAvailableException(final CommandTarget commandTarget, - final OptionSet optionSet) { - this(commandTarget, optionSet, null); - } - - public CliCommandNotAvailableException(final CommandTarget commandTarget, - final OptionSet optionSet, final Throwable cause) { - super(commandTarget, optionSet, cause); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionException.java deleted file mode 100644 index a7e56be..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionException.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionException extends CliCommandException { - private static final long serialVersionUID = -5443638512704442487L; - - private Option option; - - public CliCommandOptionException(final CommandTarget commandTarget, final Option option) { - this(commandTarget, option, null, null); - } - - public CliCommandOptionException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet) { - this(commandTarget, option, optionSet, null); - } - - public CliCommandOptionException(final CommandTarget commandTarget, final Option option, - final Throwable cause) { - this(commandTarget, option, null, cause); - } - - public CliCommandOptionException(final Throwable cause) { - this(null, null, null, cause); - } - - public CliCommandOptionException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet, final Throwable cause) { - super(commandTarget, optionSet, cause); - this.setOption(option); - } - - /** - * @return option for which the exception occurred - */ - public Option getOption() { - return option; - } - - /** - * TODO: make this immutable - * - * @param option the option to set - */ - public void setOption(Option option) { - this.option = option; - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionHasMultipleValuesException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionHasMultipleValuesException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionHasMultipleValuesException.java deleted file mode 100644 index 4b365e3..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionHasMultipleValuesException.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionHasMultipleValuesException extends CliCommandOptionValueException { - - private static final long serialVersionUID = -5277268341319591711L; - - public CliCommandOptionHasMultipleValuesException(final CommandTarget commandTarget, - final Option option, final String value) { - this(commandTarget, option, null, value, null); - } - - public CliCommandOptionHasMultipleValuesException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, final String value) { - this(commandTarget, option, optionSet, value, null); - } - - public CliCommandOptionHasMultipleValuesException(final Throwable cause) { - this(null, null, null, null, cause); - } - - public CliCommandOptionHasMultipleValuesException(final Option option, final Throwable cause) { - this(null, option, null, null, cause); - } - - public CliCommandOptionHasMultipleValuesException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, final String value, final Throwable cause) { - super(commandTarget, option, optionSet, value, cause); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionInvalidException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionInvalidException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionInvalidException.java deleted file mode 100644 index 1db8906..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionInvalidException.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionInvalidException extends CliCommandOptionException { - private static final long serialVersionUID = 8773148664471110429L; - - public CliCommandOptionInvalidException(final CommandTarget commandTarget, final Option option) { - this(commandTarget, option, null, null); - } - - public CliCommandOptionInvalidException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet) { - this(commandTarget, option, optionSet, null); - } - - public CliCommandOptionInvalidException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet, final Throwable cause) { - super(commandTarget, option, optionSet, cause); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionMissingException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionMissingException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionMissingException.java deleted file mode 100644 index f263dce..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionMissingException.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionMissingException extends CliCommandOptionException { - private static final long serialVersionUID = 7152881150151676813L; - - public CliCommandOptionMissingException(final CommandTarget commandTarget, final Option option) { - this(commandTarget, option, null, null); - } - - public CliCommandOptionMissingException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet) { - this(commandTarget, option, optionSet, null); - } - - public CliCommandOptionMissingException(final Throwable cause) { - this(null, null, null, cause); - } - - public CliCommandOptionMissingException(final Option option, final Throwable cause) { - this(null, option, null, cause); - } - - public CliCommandOptionMissingException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet, final Throwable cause) { - super(commandTarget, option, optionSet, cause); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionNotApplicableException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionNotApplicableException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionNotApplicableException.java deleted file mode 100644 index 9814778..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionNotApplicableException.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionNotApplicableException extends CliCommandOptionException { - private static final long serialVersionUID = 4190478428338602501L; - - public CliCommandOptionNotApplicableException(final CommandTarget commandTarget, - final Option option) { - this(commandTarget, option, null, null); - } - - public CliCommandOptionNotApplicableException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet) { - this(commandTarget, option, optionSet, null); - } - - public CliCommandOptionNotApplicableException(final Throwable cause) { - this(null, null, null, cause); - } - - public CliCommandOptionNotApplicableException(final Option option, final Throwable cause) { - this(null, option, null, cause); - } - - public CliCommandOptionNotApplicableException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, Throwable cause) { - super(commandTarget, option, optionSet, cause); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueConversionException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueConversionException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueConversionException.java deleted file mode 100644 index 7dbf869..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueConversionException.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionValueConversionException extends CliCommandOptionValueException { - private static final long serialVersionUID = 5144720637801591L; - - public CliCommandOptionValueConversionException(final CommandTarget commandTarget, - final Option option, final String value) { - this(commandTarget, option, null, value, null); - } - - public CliCommandOptionValueConversionException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, final String value) { - this(commandTarget, option, optionSet, value, null); - } - - public CliCommandOptionValueConversionException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, final String value, final Throwable cause) { - super(commandTarget, option, optionSet, value, null); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueException.java deleted file mode 100644 index ee02df8..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueException.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionValueException extends CliCommandOptionException { - private static final long serialVersionUID = -7339487978861146474L; - - private final String value; - - public CliCommandOptionValueException(final CommandTarget commandTarget, final Option option, - final String value) { - this(commandTarget, option, null, value, null); - } - - public CliCommandOptionValueException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet, final String value) { - this(commandTarget, option, null, value, null); - } - - public CliCommandOptionValueException(final Throwable cause) { - this(null, null, null, null, cause); - } - - public CliCommandOptionValueException(final CommandTarget commandTarget, final Option option, - final OptionSet optionSet, final String value, final Throwable cause) { - super(commandTarget, option, optionSet, cause); - this.value = value; - } - - public String getValue() { - return value; - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueMissingException.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueMissingException.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueMissingException.java deleted file mode 100644 index 023a878..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueMissingException.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -public class CliCommandOptionValueMissingException extends CliCommandOptionValueException { - private static final long serialVersionUID = 7842061609469545533L; - - public CliCommandOptionValueMissingException(final CommandTarget commandTarget, - final Option option, final String value) { - this(commandTarget, option, null, value, null); - } - - public CliCommandOptionValueMissingException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, final String value) { - this(commandTarget, option, optionSet, value, null); - } - - public CliCommandOptionValueMissingException(final Throwable cause) { - this(null, null, null, null, cause); - } - - public CliCommandOptionValueMissingException(final Option option, final Throwable cause) { - this(null, option, null, null, cause); - } - - public CliCommandOptionValueMissingException(final CommandTarget commandTarget, - final Option option, final OptionSet optionSet, final String value, final Throwable cause) { - super(commandTarget, option, optionSet, value); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionGenerator.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionGenerator.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionGenerator.java deleted file mode 100644 index fda3135..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionGenerator.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import joptsimple.OptionException; - -import org.apache.geode.management.internal.cli.parser.CommandTarget; -import org.apache.geode.management.internal.cli.parser.Option; -import org.apache.geode.management.internal.cli.parser.OptionSet; - -/** - * Converts joptsimple exceptions into corresponding exceptions for cli - * - * TODO: delete this class - */ -public class ExceptionGenerator { - - public static CliCommandOptionException generate(Option option, OptionException cause) { - if (cause.getClass().getSimpleName().contains("MissingRequiredOptionException")) { - return new CliCommandOptionMissingException(option, cause); - - } else if (cause.getClass().getSimpleName() - .contains("OptionMissingRequiredArgumentException")) { - return new CliCommandOptionValueMissingException(option, cause); - - } else if (cause.getClass().getSimpleName().contains("UnrecognizedOptionException")) { - return new CliCommandOptionNotApplicableException(option, cause); - - } else if (cause.getClass().getSimpleName().contains("MultipleArgumentsForOptionException")) { - return new CliCommandOptionHasMultipleValuesException(option, cause); - - } else { - return new CliCommandOptionException(cause); - } - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionHandler.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionHandler.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionHandler.java deleted file mode 100644 index 95afbaf..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionHandler.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.exceptions; - -import java.util.logging.Logger; - -import org.apache.geode.management.internal.cli.util.CLIConsoleBufferUtil; - -/** - * Prints the warning according the CliException - */ -public class ExceptionHandler { - - private static Logger LOGGER = Logger.getLogger(ExceptionHandler.class.getCanonicalName()); - - // FIXME define handling when no match is present - public static void handleException(CliException ce) { - if (ce instanceof CliCommandNotAvailableException) { - handleCommandNotAvailableException((CliCommandNotAvailableException) ce); - } else if (ce instanceof CliCommandInvalidException) { - handleCommandInvalidException((CliCommandInvalidException) ce); - } else if (ce instanceof CliCommandOptionException) { - handleOptionException((CliCommandOptionException) ce); - } - } - - private static void handleMultiModeOptionException(CliCommandMultiModeOptionException ce) { - switch (ce.getCode()) { - case CliCommandMultiModeOptionException.MULTIPLE_LEAD_OPTIONS: - LOGGER.warning(CLIConsoleBufferUtil.processMessegeForExtraCharactersFromConsoleBuffer( - "Input command contains multiple lead-options from modes : " - + ce.getLeadOptionString())); - break; - case CliCommandMultiModeOptionException.OPTIONS_FROM_MULTIPLE_MODES: - LOGGER.warning(CLIConsoleBufferUtil.processMessegeForExtraCharactersFromConsoleBuffer( - "Input command contains options from multilpe modes : " + ce.getLeadOptionString())); - break; - } - } - - private static void handleCommandInvalidException(CliCommandInvalidException ccie) { - LOGGER.warning(CLIConsoleBufferUtil.processMessegeForExtraCharactersFromConsoleBuffer( - ccie.getCommandTarget().getGfshMethodTarget().getKey() + " is not a valid Command")); - } - - private static void handleCommandNotAvailableException(CliCommandNotAvailableException ccnae) { - LOGGER.warning(CLIConsoleBufferUtil.processMessegeForExtraCharactersFromConsoleBuffer( - ccnae.getCommandTarget().getGfshMethodTarget().getKey() - + " is not available at the moment")); - } - - private static void handleOptionException(CliCommandOptionException ccoe) { - if (ccoe instanceof CliCommandOptionNotApplicableException) { - handleOptionInvalidExcpetion((CliCommandOptionNotApplicableException) ccoe); - } else if (ccoe instanceof CliCommandOptionValueException) { - handleOptionValueException((CliCommandOptionValueException) ccoe); - } else if (ccoe instanceof CliCommandMultiModeOptionException) { - handleMultiModeOptionException((CliCommandMultiModeOptionException) ccoe); - } - } - - private static void handleOptionInvalidExcpetion(CliCommandOptionNotApplicableException cconae) { - String messege = "Parameter " + cconae.getOption().getLongOption() + " is not applicable for " - + cconae.getCommandTarget().getGfshMethodTarget().getKey(); - LOGGER.warning(CLIConsoleBufferUtil.processMessegeForExtraCharactersFromConsoleBuffer(messege)); - } - - private static void handleOptionValueException(CliCommandOptionValueException ccove) { - if (ccove instanceof CliCommandOptionHasMultipleValuesException) { - // unfortunately by changing from geode-joptsimple to jopt-simple we will lose ALL such - // debugging info from exceptions - // String parameter = ccove != null && ccove.getOption() != null ? - // ccove.getOption().getLongOption() : "<null>"; - String parameter = ccove.getOption().getLongOption(); - String message = "Parameter " + parameter + " can only be specified once"; - LOGGER - .warning(CLIConsoleBufferUtil.processMessegeForExtraCharactersFromConsoleBuffer(message)); - } - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/CliTopic.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/CliTopic.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/CliTopic.java deleted file mode 100644 index 791cdca..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/CliTopic.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; - -import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.parser.CommandTarget; - -/** - * - * - * @since GemFire 7.0 - */ -public class CliTopic implements Comparable<CliTopic> { - private static final Map<String, String> nameDescriptionMap = new HashMap<String, String>(); - - static { - nameDescriptionMap.put(CliStrings.DEFAULT_TOPIC_GEODE, CliStrings.DEFAULT_TOPIC_GEODE__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_REGION, CliStrings.TOPIC_GEODE_REGION__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_WAN, CliStrings.TOPIC_GEODE_WAN__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_JMX, CliStrings.TOPIC_GEODE_JMX__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_DISKSTORE, - CliStrings.TOPIC_GEODE_DISKSTORE__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_LOCATOR, CliStrings.TOPIC_GEODE_LOCATOR__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_SERVER, CliStrings.TOPIC_GEODE_SERVER__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_MANAGER, CliStrings.TOPIC_GEODE_MANAGER__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_STATISTICS, - CliStrings.TOPIC_GEODE_STATISTICS__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_LIFECYCLE, - CliStrings.TOPIC_GEODE_LIFECYCLE__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_M_AND_M, CliStrings.TOPIC_GEODE_M_AND_M__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_DATA, CliStrings.TOPIC_GEODE_DATA__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_CONFIG, CliStrings.TOPIC_GEODE_CONFIG__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_FUNCTION, CliStrings.TOPIC_GEODE_FUNCTION__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_HELP, CliStrings.TOPIC_GEODE_HELP__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GEODE_DEBUG_UTIL, - CliStrings.TOPIC_GEODE_DEBUG_UTIL__DESC); - nameDescriptionMap.put(CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GFSH__DESC); - } - - - private final String name; - private final String oneLinerDescription; - private Set<CommandTarget> commandTargets; - - public CliTopic(String name) { - this.name = name; - this.oneLinerDescription = nameDescriptionMap.get(this.name); - this.commandTargets = new HashSet<CommandTarget>(); - } - - public String getName() { - return name; - } - - public String getOneLinerDescription() { - return oneLinerDescription; - } - - public void addCommandTarget(CommandTarget commandTarget) { - commandTargets.add(commandTarget); - } - - public Map<String, String> getCommandsNameHelp() { - Map<String, String> commandsNameHelp = new TreeMap<String, String>(); - - for (CommandTarget commandTarget : commandTargets) { - commandsNameHelp.put(commandTarget.getCommandName(), commandTarget.getCommandHelp()); - } - - return commandsNameHelp; - } - - @Override - public int compareTo(CliTopic o) { - if (o != null) { - return this.name.compareTo(o.name); - } else { - return -1; - } - } - - // hashCode & equals created using Eclipse - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (!getClass().isInstance(obj)) { - return false; - } - CliTopic other = (CliTopic) obj; - if (name == null) { - if (other.name != null) { - return false; - } - } else if (!name.equals(other.name)) { - return false; - } - return true; - } - - @Override - public String toString() { - return CliTopic.class.getSimpleName() + "[" + name + "]"; - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/HelpBlock.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/HelpBlock.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/HelpBlock.java new file mode 100644 index 0000000..4383044 --- /dev/null +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/HelpBlock.java @@ -0,0 +1,86 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help; + +import org.apache.geode.internal.lang.StringUtils; +import org.apache.geode.management.internal.cli.GfshParser; +import org.apache.geode.management.internal.cli.shell.Gfsh; + +import java.util.ArrayList; +import java.util.List; + +/** + * + */ +public class HelpBlock { + private String data = null; + private List<HelpBlock> children = new ArrayList<>(); + // indent level + private int level = -1; + + public HelpBlock() {} + + public HelpBlock(String data) { + if (!StringUtils.isBlank(data)) { + this.data = data; + this.level = 0; + } + } + + public String getData() { + return data; + } + + public List<HelpBlock> getChildren() { + return children; + } + + public int getLevel() { + return this.level; + } + + public void addChild(HelpBlock helpBlock) { + // before adding another block as the child, increment the indent level + helpBlock.setLevel(level + 1); + children.add(helpBlock); + } + + // recursively set the indent level of the decendents + public void setLevel(int level) { + this.level = level; + for (HelpBlock child : children) { + child.setLevel(level + 1); + } + } + + @Override + public String toString() { + // no indentation, no wrapping + return toString(-1); + } + + public String toString(int terminalWidth) { + StringBuffer builder = new StringBuffer(); + + if (data != null) { + builder.append(Gfsh.wrapText(data, level, terminalWidth)); + builder.append(GfshParser.LINE_SEPARATOR); + } + for (HelpBlock child : children) { + builder.append(child.toString(terminalWidth)); + } + return builder.toString(); + } +} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Helper.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Helper.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Helper.java new file mode 100644 index 0000000..fe2dc7d --- /dev/null +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Helper.java @@ -0,0 +1,345 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help; + +import org.apache.commons.lang.StringUtils; +import org.apache.geode.management.cli.CliMetaData; +import org.apache.geode.management.internal.cli.GfshParser; +import org.apache.geode.management.internal.cli.i18n.CliStrings; +import org.springframework.shell.core.MethodTarget; +import org.springframework.shell.core.annotation.CliAvailabilityIndicator; +import org.springframework.shell.core.annotation.CliCommand; +import org.springframework.shell.core.annotation.CliOption; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +/** + * + * + * @since GemFire 7.0 + */ +public class Helper { + + static final String NAME_NAME = "NAME"; + static final String SYNONYMS_NAME = "SYNONYMS"; + static final String SYNOPSIS_NAME = "SYNOPSIS"; + static final String SYNTAX_NAME = "SYNTAX"; + static final String OPTIONS_NAME = "PARAMETERS"; + static final String IS_AVAILABLE_NAME = "IS AVAILABLE"; + + static final String REQUIRED_SUB_NAME = "Required: "; + static final String SYNONYMS_SUB_NAME = "Synonyms: "; + static final String SPECIFIEDDEFAULTVALUE_SUB_NAME = + "Default (if the parameter is specified without value): "; + static final String UNSPECIFIEDDEFAULTVALUE_VALUE_SUB_NAME = + "Default (if the parameter is not specified): "; + + static final String VALUE_FIELD = "value"; + static final String TRUE_TOKEN = "true"; + static final String FALSE_TOKEN = "false"; + + private final Map<String, Topic> topics = new HashMap<>(); + private final Map<String, Method> commands = new TreeMap<String, Method>(); + private final Map<String, MethodTarget> availabilityIndicators = + new HashMap<String, MethodTarget>(); + + public Helper() { + initTopic(CliStrings.DEFAULT_TOPIC_GEODE, CliStrings.DEFAULT_TOPIC_GEODE__DESC); + initTopic(CliStrings.TOPIC_GEODE_REGION, CliStrings.TOPIC_GEODE_REGION__DESC); + initTopic(CliStrings.TOPIC_GEODE_WAN, CliStrings.TOPIC_GEODE_WAN__DESC); + initTopic(CliStrings.TOPIC_GEODE_JMX, CliStrings.TOPIC_GEODE_JMX__DESC); + initTopic(CliStrings.TOPIC_GEODE_DISKSTORE, CliStrings.TOPIC_GEODE_DISKSTORE__DESC); + initTopic(CliStrings.TOPIC_GEODE_LOCATOR, CliStrings.TOPIC_GEODE_LOCATOR__DESC); + initTopic(CliStrings.TOPIC_GEODE_SERVER, CliStrings.TOPIC_GEODE_SERVER__DESC); + initTopic(CliStrings.TOPIC_GEODE_MANAGER, CliStrings.TOPIC_GEODE_MANAGER__DESC); + initTopic(CliStrings.TOPIC_GEODE_STATISTICS, CliStrings.TOPIC_GEODE_STATISTICS__DESC); + initTopic(CliStrings.TOPIC_GEODE_LIFECYCLE, CliStrings.TOPIC_GEODE_LIFECYCLE__DESC); + initTopic(CliStrings.TOPIC_GEODE_M_AND_M, CliStrings.TOPIC_GEODE_M_AND_M__DESC); + initTopic(CliStrings.TOPIC_GEODE_DATA, CliStrings.TOPIC_GEODE_DATA__DESC); + initTopic(CliStrings.TOPIC_GEODE_CONFIG, CliStrings.TOPIC_GEODE_CONFIG__DESC); + initTopic(CliStrings.TOPIC_GEODE_FUNCTION, CliStrings.TOPIC_GEODE_FUNCTION__DESC); + initTopic(CliStrings.TOPIC_GEODE_HELP, CliStrings.TOPIC_GEODE_HELP__DESC); + initTopic(CliStrings.TOPIC_GEODE_DEBUG_UTIL, CliStrings.TOPIC_GEODE_DEBUG_UTIL__DESC); + initTopic(CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GFSH__DESC); + initTopic(CliStrings.TOPIC_LOGS, CliStrings.TOPIC_LOGS__DESC); + initTopic(CliStrings.TOPIC_CLIENT, CliStrings.TOPIC_CLIENT__DESC); + } + + private void initTopic(String topic, String desc) { + topics.put(topic, new Topic(topic, desc)); + } + + public void addCommand(CliCommand command, Method commandMethod) { + // put all the command synonyms in the command map + Arrays.stream(command.value()).forEach(cmd -> { + commands.put(cmd, commandMethod); + }); + + // resolve the hint message for each method + CliMetaData cliMetaData = commandMethod.getDeclaredAnnotation(CliMetaData.class); + if (cliMetaData == null) + return; + String[] related = cliMetaData.relatedTopic(); + + // for hint message, we only need to show the first synonym + String commandString = command.value()[0]; + if (related == null) { + return; + } + Arrays.stream(related).forEach(topic -> { + Topic foundTopic = topics.get(topic); + if (foundTopic == null) { + throw new IllegalArgumentException("No such topic found in the initial map: " + topic); + } + foundTopic.addRelatedCommand(commandString, command.help()); + }); + } + + public void addAvailabilityIndicator(CliAvailabilityIndicator availability, MethodTarget target) { + Arrays.stream(availability.value()).forEach(command -> { + availabilityIndicators.put(command, target); + }); + } + + public String getHelp(String buffer, int terminalWidth) { + Method method = commands.get(buffer); + if (method == null) { + return "no help exists for this command."; + } + return getHelp(method).toString(terminalWidth); + } + + public String getHint(String buffer) { + StringBuilder builder = new StringBuilder(); + // if no topic is provided, return a list of topics + if (StringUtils.isBlank(buffer)) { + builder.append(CliStrings.HINT__MSG__TOPICS_AVAILABLE).append(GfshParser.LINE_SEPARATOR) + .append(GfshParser.LINE_SEPARATOR); + + List<String> sortedTopics = new ArrayList<>(topics.keySet()); + Collections.sort(sortedTopics); + sortedTopics.stream() + .forEachOrdered(topic -> builder.append(topic).append(GfshParser.LINE_SEPARATOR)); + return builder.toString(); + } + + Topic topic = topics.get(buffer); + if (topic == null) { + return CliStrings.format(CliStrings.HINT__MSG__UNKNOWN_TOPIC, buffer); + } + + builder.append(topic.desc).append(GfshParser.LINE_SEPARATOR).append(GfshParser.LINE_SEPARATOR); + Collections.sort(topic.relatedCommands); + topic.relatedCommands.stream().forEachOrdered(command -> builder.append(command.command) + .append(": ").append(command.desc).append(GfshParser.LINE_SEPARATOR)); + return builder.toString(); + } + + private HelpBlock getHelp(Method method) { + return getHelp(method.getDeclaredAnnotation(CliCommand.class), method.getParameterAnnotations(), + method.getParameterTypes()); + } + + HelpBlock getHelp(CliCommand cliCommand, Annotation[][] annotations, Class<?>[] parameterTypes) { + String commandName = cliCommand.value()[0]; + HelpBlock root = new HelpBlock(); + // First we will have the block for NAME of the command + HelpBlock name = new HelpBlock(NAME_NAME); + name.addChild(new HelpBlock(commandName)); + root.addChild(name); + + // add the availability flag + HelpBlock availability = new HelpBlock(IS_AVAILABLE_NAME); + boolean available = true; + MethodTarget target = availabilityIndicators.get(commandName); + if (target != null) { + try { + available = (Boolean) target.getMethod().invoke(target.getTarget()); + } catch (Exception e) { + } + } + availability.addChild(new HelpBlock(available + "")); + root.addChild(availability); + + // Now add synonyms if any + String[] allNames = cliCommand.value(); + if (allNames.length > 1) { + HelpBlock synonyms = new HelpBlock(SYNONYMS_NAME); + for (int i = 1; i < allNames.length; i++) { + synonyms.addChild(new HelpBlock(allNames[i])); + } + root.addChild(synonyms); + } + + // Now comes the turn to display synopsis if any + if (!StringUtils.isBlank(cliCommand.help())) { + HelpBlock synopsis = new HelpBlock(SYNOPSIS_NAME); + synopsis.addChild(new HelpBlock(cliCommand.help())); + root.addChild(synopsis); + } + + // Now display the syntax for the command + HelpBlock syntaxBlock = new HelpBlock(SYNTAX_NAME); + String syntax = getSyntaxString(commandName, annotations, parameterTypes); + syntaxBlock.addChild(new HelpBlock(syntax)); + root.addChild(syntaxBlock); + + // Detailed description of all the Options + if (annotations.length > 0) { + HelpBlock options = new HelpBlock(OPTIONS_NAME); + for (int i = 0; i < annotations.length; i++) { + CliOption cliOption = getAnnotation(annotations[i], CliOption.class); + HelpBlock optionNode = getOptionDetail(cliOption); + options.addChild(optionNode); + } + root.addChild(options); + } + return root; + } + + HelpBlock getOptionDetail(CliOption cliOption) { + HelpBlock optionNode = new HelpBlock(getPrimaryKey(cliOption)); + String help = cliOption.help(); + optionNode.addChild(new HelpBlock((!StringUtils.isBlank(help) ? help : ""))); + if (getSynonyms(cliOption).size() > 0) { + StringBuilder builder = new StringBuilder(); + for (String string : getSynonyms(cliOption)) { + if (builder.length() > 0) { + builder.append(","); + } + builder.append(string); + } + optionNode.addChild(new HelpBlock(SYNONYMS_SUB_NAME + builder.toString())); + } + optionNode.addChild( + new HelpBlock(REQUIRED_SUB_NAME + ((cliOption.mandatory()) ? TRUE_TOKEN : FALSE_TOKEN))); + if (!isNullOrBlank(cliOption.specifiedDefaultValue())) { + optionNode.addChild( + new HelpBlock(SPECIFIEDDEFAULTVALUE_SUB_NAME + cliOption.specifiedDefaultValue())); + } + if (!isNullOrBlank(cliOption.unspecifiedDefaultValue())) { + optionNode.addChild(new HelpBlock( + UNSPECIFIEDDEFAULTVALUE_VALUE_SUB_NAME + cliOption.unspecifiedDefaultValue())); + } + return optionNode; + } + + private <T> T getAnnotation(Annotation[] annotations, Class<?> klass) { + for (Annotation annotation : annotations) { + if (klass.isAssignableFrom(annotation.getClass())) { + return (T) annotation; + } + } + return null; + } + + String getSyntaxString(String commandName, Annotation[][] annotations, Class[] parameterTypes) { + StringBuffer buffer = new StringBuffer(); + buffer.append(commandName); + for (int i = 0; i < annotations.length; i++) { + CliOption cliOption = getAnnotation(annotations[i], CliOption.class); + String optionString = getOptionString(cliOption, parameterTypes[i]); + if (cliOption.mandatory()) { + buffer.append(" ").append(optionString); + } else { + buffer.append(" [").append(optionString).append("]"); + } + } + return buffer.toString(); + } + + /** + * this builds the following format of strings: key (as in sh and help) --key=value --key(=value)? + * (if has specifiedDefaultValue) --key=value(,value)* (if the value is a list) + * + * @return option string + */ + private static String getOptionString(CliOption cliOption, Class<?> optionType) { + String key0 = cliOption.key()[0]; + if ("".equals(key0)) { + return (cliOption.key()[1]); + } + + StringBuffer buffer = new StringBuffer(); + buffer.append(GfshParser.LONG_OPTION_SPECIFIER).append(key0); + + boolean hasSpecifiedDefault = !isNullOrBlank(cliOption.specifiedDefaultValue()); + + if (hasSpecifiedDefault) { + buffer.append("("); + } + + buffer.append(GfshParser.OPTION_VALUE_SPECIFIER).append(VALUE_FIELD); + + if (hasSpecifiedDefault) { + buffer.append(")?"); + } + + if (isCollectionOrArrayType(optionType)) { + buffer.append("(").append(",").append(VALUE_FIELD).append(")*"); + } + + return buffer.toString(); + } + + private static boolean isCollectionOrArrayType(Class<?> typeToCheck) { + return typeToCheck != null + && (typeToCheck.isArray() || Collection.class.isAssignableFrom(typeToCheck)); + } + + private static String getPrimaryKey(CliOption option) { + String[] keys = option.key(); + if (keys.length == 0) { + throw new RuntimeException("Invalid option keys"); + } else if ("".equals(keys[0])) { + return keys[1]; + } else { + return keys[0]; + } + } + + private static List<String> getSynonyms(CliOption option) { + List<String> synonyms = new ArrayList<>(); + String[] keys = option.key(); + if (keys.length < 2) + return synonyms; + // if the primary key is empty (like sh and help command), then there should be no synonyms. + if ("".equals(keys[0])) + return synonyms; + + for (int i = 1; i < keys.length; i++) { + synonyms.add(keys[i]); + } + return synonyms; + } + + private static boolean isNullOrBlank(String value) { + return StringUtils.isBlank(value) || CliMetaData.ANNOTATION_NULL_VALUE.equals(value); + } + + public Set<String> getCommands() { + return commands.keySet(); + } +} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Topic.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Topic.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Topic.java new file mode 100644 index 0000000..3ea896c --- /dev/null +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Topic.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help; + +import java.util.ArrayList; +import java.util.List; + +public class Topic implements Comparable<Topic> { + String topic; + String desc; + List<Command> relatedCommands = new ArrayList<>(); + + public Topic(String topic, String desc) { + this.topic = topic; + this.desc = desc; + } + + public void addRelatedCommand(String command, String desc) { + relatedCommands.add(new Command(command, desc)); + } + + @Override + public int compareTo(Topic o) { + return topic.compareTo(o.topic); + } + + public class Command implements Comparable<Command> { + String command; + String desc; + + public Command(String command, String desc) { + this.command = command; + this.desc = desc; + } + + @Override + public int compareTo(Command o) { + return this.command.compareTo(o.command); + } + } + + +} + + http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Block.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Block.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Block.java deleted file mode 100644 index dde1a20..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Block.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help.format; - -/** - * - */ -public class Block { - private String heading; - private Row[] rows; - - public String getHeading() { - return heading; - } - - public Block setHeading(String heading) { - this.heading = heading; - return this; - } - - public Row[] getRows() { - return rows; - } - - public Block setRows(Row[] rows) { - this.rows = rows; - return this; - } - -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/DataNode.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/DataNode.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/DataNode.java deleted file mode 100644 index 8f5e570..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/DataNode.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help.format; - -import java.util.List; - -/** - * - */ -public class DataNode { - String data; - List<DataNode> children; - - public DataNode(String data, List<DataNode> dataNode) { - this.data = data; - this.children = dataNode; - } - - public String getData() { - return data; - } - - public List<DataNode> getChildren() { - return children; - } - - public boolean addChild(DataNode dataNode) { - if (this.children != null) { - this.children.add(dataNode); - return true; - } else { - return false; - } - } - -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Help.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Help.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Help.java deleted file mode 100644 index 68c10bb..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Help.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help.format; - -/** - * - */ -public class Help { - private Block[] blocks; - - public Block[] getBlocks() { - return blocks; - } - - public Help setBlocks(Block[] block) { - this.blocks = block; - return this; - } - - @Override - public String toString() { - StringBuffer buffer = new StringBuffer(); - for (Block block : blocks) { - buffer.append(block.getHeading() + "\n"); - for (Row row : block.getRows()) { - buffer.append("\t" + row.getInfo()[0] + "\n"); - } - buffer.append("\n"); - } - return buffer.toString(); - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/NewHelp.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/NewHelp.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/NewHelp.java deleted file mode 100644 index 90f9eda..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/NewHelp.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help.format; - -import org.apache.geode.management.internal.cli.GfshParser; -import org.apache.geode.management.internal.cli.shell.Gfsh; - -/** - * - * @since GemFire 7.0 - */ -public class NewHelp { - DataNode root; - - public NewHelp(DataNode root) { - this.root = root; - } - - @Override - public String toString() { - StringBuilder builder = new StringBuilder(); - append(builder, root, 0); - return builder.toString(); - } - - private void append(StringBuilder builder, DataNode dataNode, int level) { - if (dataNode != null && builder != null) { - String data = dataNode.getData(); - if (data != null && !data.equals("")) { - builder.append(Gfsh.wrapText(data, level - 1)); - builder.append(GfshParser.LINE_SEPARATOR); - } - if (dataNode.getChildren() != null && dataNode.getChildren().size() > 0) { - for (DataNode child : dataNode.getChildren()) { - append(builder, child, level + 1); - } - } - } - } -} http://git-wip-us.apache.org/repos/asf/geode/blob/1fc0f0ca/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Row.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Row.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Row.java deleted file mode 100644 index ac1ca21..0000000 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Row.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more contributor license - * agreements. See the NOTICE file distributed with this work for additional information regarding - * copyright ownership. The ASF licenses this file to You 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.apache.geode.management.internal.cli.help.format; - -public class Row { - private String[] info; - - public String[] getInfo() { - return info; - } - - public Row setInfo(String[] info) { - this.info = info; - return this; - } -}
