Skip to content
This repository was archived by the owner on Mar 27, 2025. It is now read-only.

Commit 15e2654

Browse files
committed
Create Utilities class
1 parent 86a9bd2 commit 15e2654

File tree

3 files changed

+32
-25
lines changed

3 files changed

+32
-25
lines changed

src/main/java/com/mathworks/ci/RunMatlabTestsBuilder.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import java.util.ArrayList;
1616
import java.util.Optional;
1717
import java.util.Arrays;
18-
import java.util.function.Predicate;
1918
import java.util.stream.Collectors;
2019
import javax.annotation.Nonnull;
2120
import hudson.EnvVars;
@@ -283,15 +282,6 @@ public String constructCommandForTest(FilePath scriptPath) {
283282
return runCommand;
284283
}
285284

286-
private String getCellArrayFrmList(List<String> listOfStr){
287-
// Ignore empty string values in the list
288-
Predicate<String> isEmpty = String::isEmpty;
289-
Predicate<String> isNotEmpty = isEmpty.negate();
290-
List<String> filteredListOfStr = listOfStr.stream().filter(isNotEmpty).collect(Collectors.toList());
291-
filteredListOfStr.replaceAll(val -> "'" + val.replaceAll("'", "''") + "'");
292-
return "{" + String.join(",", filteredListOfStr) + "}";
293-
}
294-
295285
// Concatenate the input arguments
296286
private String getInputArguments() {
297287

@@ -311,10 +301,13 @@ private String getInputArguments() {
311301

312302
args.forEach((key, val) -> inputArgsList.add("'" + key + "'" + "," + "'" + val + "'"));
313303

314-
// Add source folder options to argument
304+
/*
305+
* Add source folder options to argument.
306+
* For source folder we create a MATLAB cell array and add it to input argument list.
307+
* */
315308
SourceFolder sf = getSourceFolder();
316309
if(sf != null && !sf.getSourceFolderPaths().isEmpty()){
317-
sf.addSourceToInputArgs(inputArgsList, getCellArrayFrmList(sf.getSourceFolderPaths().stream()
310+
sf.addSourceToInputArgs(inputArgsList, Utilities.getCellArrayFrmList(sf.getSourceFolderPaths().stream()
318311
.map(SourceFolderPaths::getSrcFolderPath)
319312
.collect(Collectors.toList())));
320313
}

src/main/java/com/mathworks/ci/RunMatlabTestsStep.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
import java.util.List;
1010
import java.util.Map;
1111
import java.util.Set;
12-
import java.util.function.Predicate;
13-
import java.util.stream.Collectors;
14-
1512
import org.jenkinsci.plugins.workflow.steps.Step;
1613
import org.jenkinsci.plugins.workflow.steps.StepContext;
1714
import org.jenkinsci.plugins.workflow.steps.StepDescriptor;
@@ -157,17 +154,8 @@ private Map<String, String> getGenscriptArgs() {
157154
args.put("CoberturaCodeCoverage", getCodeCoverageCobertura());
158155
args.put("CoberturaModelCoverage", getModelCoverageCobertura());
159156
if(!getSourceFolder().isEmpty()){
160-
args.put("SourceFolder", getCellArrayFrmList(getSourceFolder()));
157+
args.put("SourceFolder", Utilities.getCellArrayFrmList(getSourceFolder()));
161158
}
162159
return args;
163160
}
164-
165-
private String getCellArrayFrmList(List<String> listOfStr){
166-
// Ignore empty string values in the list
167-
Predicate<String> isEmpty = String::isEmpty;
168-
Predicate<String> isNotEmpty = isEmpty.negate();
169-
List<String> filteredListOfStr = listOfStr.stream().filter(isNotEmpty).collect(Collectors.toList());
170-
filteredListOfStr.replaceAll(val -> "'" + val.replaceAll("'", "''") + "'");
171-
return "{" + String.join(",", filteredListOfStr) + "}";
172-
}
173161
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.mathworks.ci;
2+
3+
/**
4+
* Copyright 2020 The MathWorks, Inc.
5+
*
6+
* Utility class for common methods.
7+
*
8+
*/
9+
10+
import java.util.List;
11+
import java.util.function.Predicate;
12+
import java.util.stream.Collectors;
13+
14+
public class Utilities {
15+
16+
public static String getCellArrayFrmList(List<String> listOfStr){
17+
// Ignore empty string values in the list
18+
Predicate<String> isEmpty = String::isEmpty;
19+
Predicate<String> isNotEmpty = isEmpty.negate();
20+
List<String> filteredListOfStr = listOfStr.stream().filter(isNotEmpty).collect(Collectors.toList());
21+
22+
// Escape apostrophe for MATLAB
23+
filteredListOfStr.replaceAll(val -> "'" + val.replaceAll("'", "''") + "'");
24+
return "{" + String.join(",", filteredListOfStr) + "}";
25+
}
26+
}

0 commit comments

Comments
 (0)