[
https://issues.apache.org/jira/browse/GEODE-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16111388#comment-16111388
]
ASF GitHub Bot commented on GEODE-3256:
---------------------------------------
Github user kirklund commented on a diff in the pull request:
https://github.com/apache/geode/pull/672#discussion_r130944162
--- Diff:
geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommandsUtils.java
---
@@ -0,0 +1,311 @@
+/*
+ * 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.commands;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+
+import org.apache.geode.LogWriter;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.execute.FunctionService;
+import org.apache.geode.cache.execute.ResultCollector;
+import org.apache.geode.distributed.DistributedMember;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.management.DistributedRegionMXBean;
+import org.apache.geode.management.ManagementService;
+import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.MBeanJMXAdapter;
+import org.apache.geode.management.internal.cli.CliUtil;
+import org.apache.geode.management.internal.cli.LogWrapper;
+import org.apache.geode.management.internal.cli.domain.DataCommandRequest;
+import org.apache.geode.management.internal.cli.domain.DataCommandResult;
+import
org.apache.geode.management.internal.cli.functions.DataCommandFunction;
+import org.apache.geode.management.internal.cli.i18n.CliStrings;
+import org.apache.geode.management.internal.cli.result.CompositeResultData;
+import org.apache.geode.management.internal.cli.result.ResultBuilder;
+import org.apache.geode.management.internal.cli.result.TabularResultData;
+
+public class DataCommandsUtils {
--- End diff --
I would prefer to avoid *Utils classes as well. It's reasonable to
introduce it as a temporary refactoring though just to facilitate breaking
DataCommands up into multiple Command classes. At some point, we should try to
refactor DataCommandUtils to non-static OO classes.
Unfortunately I don't have any examples for changing DataCommandUtils to OO
off the top of my head. That code is going to require some studying to figure
out how to properly organize it.
I guess my recommendation at this point is to pull in these changes as they
are and then @jaredjstewart @YehEmily @jinmeiliao and myself could get together
and mob on restructuring DataCommandUtils. Thoughts?
> Refactor DataCommands
> ---------------------
>
> Key: GEODE-3256
> URL: https://issues.apache.org/jira/browse/GEODE-3256
> Project: Geode
> Issue Type: Sub-task
> Components: gfsh
> Reporter: Emily Yeh
> Assignee: Emily Yeh
>
> {{DataCommands.java}} is a large class that contains multiple commands. Each
> command should be refactored into a separate class, and the methods shared by
> the commands should be refactored into a new and appropriately named class of
> their own.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)