Skip to content

Commit d2292cf

Browse files
committed
Add addIfNotEmpty method, remove allowEmpty-flag
1 parent e0291ab commit d2292cf

File tree

3 files changed

+31
-22
lines changed

3 files changed

+31
-22
lines changed

src/main/java/org/utplsql/api/db/DynamicParameterList.java

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public static DynamicParameterListBuilder builder() {
6565
* <pre>
6666
* DynamicParameterList.builder()
6767
* .add("parameter1", "StringParameter")
68-
* .add("parameter2", 123)
68+
* .addIfNotEmpty("parameter2", 123)
6969
* .build();
7070
* </pre>
7171
*
@@ -74,32 +74,43 @@ public static DynamicParameterListBuilder builder() {
7474
public static class DynamicParameterListBuilder {
7575

7676
private LinkedHashMap<String, DynamicParameterList.DynamicParameter> params = new LinkedHashMap<>();
77-
private boolean addIfNullOrEmpty = true;
7877

7978
private DynamicParameterListBuilder() {
8079

8180
}
8281

83-
public DynamicParameterListBuilder onlyAddIfNotEmpty() {
84-
addIfNullOrEmpty = false;
82+
public DynamicParameterListBuilder add(String identifier, String value ) {
83+
params.put(identifier, new DynamicParameterList.DynamicStringParameter(value));
8584
return this;
8685
}
8786

88-
public DynamicParameterListBuilder add(String identifier, String value ) {
89-
if ( addIfNullOrEmpty || (value != null && !value.isEmpty()) ) {
90-
params.put(identifier, new DynamicParameterList.DynamicStringParameter(value));
87+
public DynamicParameterListBuilder addIfNotEmpty(String identifier, String value ) {
88+
if ( value != null && !value.isEmpty() ) {
89+
add(identifier, value);
9190
}
9291
return this;
9392
}
93+
9494
public DynamicParameterListBuilder add(String identifier, Integer value ) {
95-
if ( addIfNullOrEmpty || (value != null)) {
96-
params.put(identifier, new DynamicParameterList.DynamicIntegerParameter(value));
95+
params.put(identifier, new DynamicParameterList.DynamicIntegerParameter(value));
96+
return this;
97+
}
98+
99+
public DynamicParameterListBuilder addIfNotEmpty(String identifier, Integer value ) {
100+
if ( value != null) {
101+
add(identifier, value);
97102
}
98103
return this;
99104
}
105+
100106
public DynamicParameterListBuilder add(String identifier, Object[] value, String customTypeName, OracleConnection oraConnection ) {
101-
if ( addIfNullOrEmpty || (value != null && value.length > 0 )) {
102-
params.put(identifier, new DynamicParameterList.DynamicArrayParameter(value, customTypeName, oraConnection));
107+
params.put(identifier, new DynamicParameterList.DynamicArrayParameter(value, customTypeName, oraConnection));
108+
return this;
109+
}
110+
111+
public DynamicParameterListBuilder addIfNotEmpty(String identifier, Object[] value, String customTypeName, OracleConnection oraConnection ) {
112+
if ( value != null && value.length > 0 ) {
113+
add(identifier, value, customTypeName, oraConnection);
103114
}
104115
return this;
105116
}

src/main/java/org/utplsql/api/testRunner/FileMapper.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,12 @@ private static Array buildFileMappingArray(
4545

4646
DynamicParameterList parameterList = DynamicParameterList.builder()
4747
.add("a_file_paths", filePathsArray, CustomTypes.UT_VARCHAR2_LIST, oraConn)
48-
.onlyAddIfNotEmpty()
49-
.add("a_object_owner", mapperOptions.getObjectOwner())
50-
.add("a_file_to_object_type_mapping", typeMapArray, CustomTypes.UT_KEY_VALUE_PAIRS, oraConn)
51-
.add("a_regex_pattern", mapperOptions.getRegexPattern())
52-
.add("a_object_owner_subexpression", mapperOptions.getOwnerSubExpression())
53-
.add("a_object_name_subexpression", mapperOptions.getNameSubExpression())
54-
.add("a_object_type_subexpression", mapperOptions.getTypeSubExpression())
48+
.addIfNotEmpty("a_object_owner", mapperOptions.getObjectOwner())
49+
.addIfNotEmpty("a_file_to_object_type_mapping", typeMapArray, CustomTypes.UT_KEY_VALUE_PAIRS, oraConn)
50+
.addIfNotEmpty("a_regex_pattern", mapperOptions.getRegexPattern())
51+
.addIfNotEmpty("a_object_owner_subexpression", mapperOptions.getOwnerSubExpression())
52+
.addIfNotEmpty("a_object_name_subexpression", mapperOptions.getNameSubExpression())
53+
.addIfNotEmpty("a_object_type_subexpression", mapperOptions.getTypeSubExpression())
5554
.build();
5655

5756
CallableStatement callableStatement = conn.prepareCall(

src/test/java/org/utplsql/api/db/DynamicParameterListTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,9 @@ void when_not_accept_empty_filter_empty_elements() throws SQLException {
4242
OracleConnection mockedConn = mock(OracleConnection.class);
4343

4444
DynamicParameterList parameterList = DynamicParameterList.builder()
45-
.onlyAddIfNotEmpty()
46-
.add("a_object_owner", (String)null)
47-
.add("a_num_param", (Integer)null)
48-
.add("a_num_array", new Object[]{}, "MY_NUM_ARR", mockedConn)
45+
.addIfNotEmpty("a_object_owner", (String)null)
46+
.addIfNotEmpty("a_num_param", (Integer)null)
47+
.addIfNotEmpty("a_num_array", new Object[]{}, "MY_NUM_ARR", mockedConn)
4948
.build();
5049

5150
assertEquals("", parameterList.getSql());

0 commit comments

Comments
 (0)