Author: fschumacher
Date: Sun Dec  2 11:17:25 2018
New Revision: 1847975

URL: http://svn.apache.org/viewvc?rev=1847975&view=rev
Log:
Extract code into private methods to make intent clearer

Part of #435 and Bugzilla Id: 62972

Modified:
    
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java

Modified: 
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java?rev=1847975&r1=1847974&r2=1847975&view=diff
==============================================================================
--- 
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java
 (original)
+++ 
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java
 Sun Dec  2 11:17:25 2018
@@ -177,39 +177,8 @@ public class BackendListenerGui extends
                 Map<String, String> currArgsMap = currArgs.getArgumentsAsMap();
                 Map<String, String> userArgMap = new HashMap<>();
                 userArgMap.putAll(currArgsMap);
-                Arguments newArgs = new Arguments();
-                Arguments defaultArgs = null;
-                try {
-                    defaultArgs = client.getDefaultParameters();
-                    Arguments currentUserArgs = 
oldClient.getDefaultParameters();
-                    if(currentUserArgs != null) {
-                        
userArgMap.keySet().removeAll(currentUserArgs.getArgumentsAsMap().keySet());
-                    }
-                } catch (AbstractMethodError e) {
-                    log.warn("BackendListenerClient doesn't implement "
-                            + "getDefaultParameters.  Default parameters won't 
"
-                            + "be shown.  Please update your client class: 
{}", newClassName);
-                }
-
-                if (defaultArgs != null) {
-                    for (JMeterProperty jMeterProperty : 
defaultArgs.getArguments()) {
-                        Argument arg = (Argument) 
jMeterProperty.getObjectValue();
-                        String name = arg.getName();
-                        String value = arg.getValue();
-
-                        // If a user has set parameters in one test, and then
-                        // selects a different test which supports the same
-                        // parameters, those parameters should have the same
-                        // values that they did in the original test.
-                        if (currArgsMap.containsKey(name)) {
-                            String newVal = currArgsMap.get(name);
-                            if (newVal != null && newVal.length() > 0) {
-                                value = newVal;
-                            }
-                        }
-                        newArgs.addArgument(name, value);
-                    }
-                }
+                Arguments defaultArgs = extractDefaultArguments(client, 
userArgMap, oldClient.getDefaultParameters());
+                Arguments newArgs = copyDefaultArguments(currArgsMap, 
defaultArgs);
                 userArgMap.forEach(newArgs::addArgument);
 
                 className = newClassName;
@@ -221,6 +190,48 @@ public class BackendListenerGui extends
     }
 
 
+    private Arguments copyDefaultArguments(Map<String, String> currArgsMap, 
Arguments defaultArgs) {
+        Arguments newArgs = new Arguments();
+        if (defaultArgs != null) {
+            for (JMeterProperty jMeterProperty : defaultArgs.getArguments()) {
+                Argument arg = (Argument) jMeterProperty.getObjectValue();
+                String name = arg.getName();
+                String value = arg.getValue();
+
+                // If a user has set parameters in one test, and then
+                // selects a different test which supports the same
+                // parameters, those parameters should have the same
+                // values that they did in the original test.
+                if (currArgsMap.containsKey(name)) {
+                    String newVal = currArgsMap.get(name);
+                    if (newVal != null && newVal.length() > 0) {
+                        value = newVal;
+                    }
+                }
+                newArgs.addArgument(name, value);
+            }
+        }
+        return newArgs;
+    }
+
+
+    private Arguments extractDefaultArguments(BackendListenerClient client, 
Map<String, String> userArgMap,
+            Arguments currentUserArguments) {
+        Arguments defaultArgs = null;
+        try {
+            defaultArgs = client.getDefaultParameters();
+            if(currentUserArguments != null) {
+                
userArgMap.keySet().removeAll(currentUserArguments.getArgumentsAsMap().keySet());
+            }
+        } catch (AbstractMethodError e) {
+            log.warn("BackendListenerClient doesn't implement "
+                    + "getDefaultParameters.  Default parameters won't "
+                    + "be shown.  Please update your client class: {}", 
client.getClass().getName());
+        }
+        return defaultArgs;
+    }
+
+
     private BackendListenerClient createBackendListenerClient(String 
newClassName)
             throws ReflectiveOperationException {
         return (BackendListenerClient) Class.forName(newClassName, true,


Reply via email to