This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new 34ace7b  Make method less complex by extracting private methods
34ace7b is described below

commit 34ace7b007e341ec5953652cdeb481eeded508fb
Author: Felix Schumacher <felix.schumac...@internetallee.de>
AuthorDate: Sat Sep 26 11:23:27 2020 +0200

    Make method less complex by extracting private methods
---
 .../java/org/apache/jmeter/config/CSVDataSet.java  | 70 ++++++++++++----------
 1 file changed, 39 insertions(+), 31 deletions(-)

diff --git 
a/src/components/src/main/java/org/apache/jmeter/config/CSVDataSet.java 
b/src/components/src/main/java/org/apache/jmeter/config/CSVDataSet.java
index 4887938..dab3190 100644
--- a/src/components/src/main/java/org/apache/jmeter/config/CSVDataSet.java
+++ b/src/components/src/main/java/org/apache/jmeter/config/CSVDataSet.java
@@ -168,37 +168,7 @@ public class CSVDataSet extends ConfigTestElement
             delim=",";
         }
         if (vars == null) {
-            String fileName = getFilename().trim();
-            String mode = getShareMode();
-            int modeInt = CSVDataSetBeanInfo.getShareModeAsInt(mode);
-            switch(modeInt){
-                case CSVDataSetBeanInfo.SHARE_ALL:
-                    alias = fileName;
-                    break;
-                case CSVDataSetBeanInfo.SHARE_GROUP:
-                    alias = 
fileName+"@"+System.identityHashCode(context.getThreadGroup());
-                    break;
-                case CSVDataSetBeanInfo.SHARE_THREAD:
-                    alias = 
fileName+"@"+System.identityHashCode(context.getThread());
-                    break;
-                default:
-                    alias = fileName+"@"+mode; // user-specified key
-                    break;
-            }
-            final String names = getVariableNames();
-            if (StringUtils.isEmpty(names)) {
-                String header = server.reserveFile(fileName, 
getFileEncoding(), alias, true);
-                try {
-                    vars = CSVSaveService.csvSplitString(header, 
delim.charAt(0));
-                    firstLineIsNames = true;
-                } catch (IOException e) {
-                    throw new IllegalArgumentException("Could not split CSV 
header line from file:" + fileName,e);
-                }
-            } else {
-                server.reserveFile(fileName, getFileEncoding(), alias, 
ignoreFirstLine);
-                vars = JOrphanUtils.split(names, ","); // $NON-NLS-1$
-            }
-            trimVarNames(vars);
+            initVars(server, context, delim);
         }
 
         // TODO: fetch this once as per vars above?
@@ -230,6 +200,44 @@ public class CSVDataSet extends ConfigTestElement
         }
     }
 
+    private void initVars(FileServer server, final JMeterContext context, 
String delim) {
+        String fileName = getFilename().trim();
+        setAlias(context, fileName);
+        final String names = getVariableNames();
+        if (StringUtils.isEmpty(names)) {
+            String header = server.reserveFile(fileName, getFileEncoding(), 
alias, true);
+            try {
+                vars = CSVSaveService.csvSplitString(header, delim.charAt(0));
+                firstLineIsNames = true;
+            } catch (IOException e) {
+                throw new IllegalArgumentException("Could not split CSV header 
line from file:" + fileName,e);
+            }
+        } else {
+            server.reserveFile(fileName, getFileEncoding(), alias, 
ignoreFirstLine);
+            vars = JOrphanUtils.split(names, ","); // $NON-NLS-1$
+        }
+        trimVarNames(vars);
+    }
+
+    private void setAlias(final JMeterContext context, String fileName) {
+        String mode = getShareMode();
+        int modeInt = CSVDataSetBeanInfo.getShareModeAsInt(mode);
+        switch(modeInt){
+            case CSVDataSetBeanInfo.SHARE_ALL:
+                alias = fileName;
+                break;
+            case CSVDataSetBeanInfo.SHARE_GROUP:
+                alias = 
fileName+"@"+System.identityHashCode(context.getThreadGroup());
+                break;
+            case CSVDataSetBeanInfo.SHARE_THREAD:
+                alias = 
fileName+"@"+System.identityHashCode(context.getThread());
+                break;
+            default:
+                alias = fileName+"@"+mode; // user-specified key
+                break;
+        }
+    }
+
     /**
      * trim content of array varNames
      * @param varsNames

Reply via email to