Skip to content

Commit db3e1fb

Browse files
committed
Inlining DynamicParameterListBuilder
1 parent 9cd9937 commit db3e1fb

File tree

4 files changed

+45
-52
lines changed

4 files changed

+45
-52
lines changed

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

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,46 @@ public void setParamsStartWithIndex(CallableStatement statement, int startIndex
8888
}
8989
}
9090

91+
public static DynamicParameterListBuilder builder() {
92+
return new DynamicParameterListBuilder();
93+
}
94+
95+
public static class DynamicParameterListBuilder {
96+
97+
private LinkedHashMap<String, DynamicParameterList.DynamicParameter> params = new LinkedHashMap<>();
98+
private boolean addIfNullOrEmpty = true;
99+
100+
private DynamicParameterListBuilder() {
101+
102+
}
103+
104+
public DynamicParameterListBuilder onlyAddIfNotEmpty() {
105+
addIfNullOrEmpty = false;
106+
return this;
107+
}
108+
109+
public DynamicParameterListBuilder add(String identifier, String value ) {
110+
if ( addIfNullOrEmpty || (value != null && !value.isEmpty()) ) {
111+
params.put(identifier, new DynamicParameterList.DynamicStringParameter(value));
112+
}
113+
return this;
114+
}
115+
public DynamicParameterListBuilder add(String identifier, Integer value ) {
116+
if ( addIfNullOrEmpty || (value != null)) {
117+
params.put(identifier, new DynamicParameterList.DynamicIntegerParameter(value));
118+
}
119+
return this;
120+
}
121+
public DynamicParameterListBuilder add(String identifier, Object[] value, String customTypeName, OracleConnection oraConnection ) {
122+
if ( addIfNullOrEmpty || (value != null && value.length > 0 )) {
123+
params.put(identifier, new DynamicParameterList.DynamicArrayParameter(value, customTypeName, oraConnection));
124+
}
125+
return this;
126+
}
127+
128+
public DynamicParameterList build() {
129+
return new DynamicParameterList(params);
130+
}
131+
}
132+
91133
}

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

Lines changed: 0 additions & 48 deletions
This file was deleted.

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import org.utplsql.api.FileMapping;
1111
import org.utplsql.api.KeyValuePair;
1212
import org.utplsql.api.db.DynamicParameterList;
13-
import org.utplsql.api.db.DynamicParameterListBuilder;
1413

1514
import java.sql.*;
1615
import java.util.*;
@@ -44,7 +43,7 @@ private static Array buildFileMappingArray(
4443
typeMapArray = mapperOptions.getTypeMappings().toArray();
4544
}
4645

47-
DynamicParameterList parameterList = DynamicParameterListBuilder.create()
46+
DynamicParameterList parameterList = DynamicParameterList.builder()
4847
.add("a_file_paths", filePathsArray, CustomTypes.UT_VARCHAR2_LIST, oraConn)
4948
.onlyAddIfNotEmpty()
5049
.add("a_object_owner", mapperOptions.getObjectOwner())

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ void call_with_three_different_types() throws SQLException {
1919

2020
Object[] numArr = new Object[]{1, 2};
2121

22-
DynamicParameterList parameterList = DynamicParameterListBuilder.create()
22+
DynamicParameterList parameterList = DynamicParameterList.builder()
2323
.add("a_object_owner", "MyOwner")
2424
.add("a_num_param", 123)
2525
.add("a_num_array", numArr, "MY_NUM_ARR", mockedConn)
@@ -41,7 +41,7 @@ void when_not_accept_empty_filter_empty_elements() throws SQLException {
4141
CallableStatement mockedStatement = mock(CallableStatement.class);
4242
OracleConnection mockedConn = mock(OracleConnection.class);
4343

44-
DynamicParameterList parameterList = DynamicParameterListBuilder.create()
44+
DynamicParameterList parameterList = DynamicParameterList.builder()
4545
.onlyAddIfNotEmpty()
4646
.add("a_object_owner", (String)null)
4747
.add("a_num_param", (Integer)null)

0 commit comments

Comments
 (0)