[ https://issues.apache.org/jira/browse/GEODE-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16109365#comment-16109365 ]
ASF GitHub Bot commented on GEODE-3256: --------------------------------------- Github user jaredjstewart commented on a diff in the pull request: https://github.com/apache/geode/pull/672#discussion_r130673499 --- 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 tend to try to avoid `---Utils` classes, as they often end up as a bag of unrelated methods rather than a true object-oriented class with a single responsibility. I'm not sure where all of these methods belong in this case though, and I think this is certainly a step in the right direction from the old `DataCommands` monolith. > 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)