Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit74daeb6

Browse files
authored
Merge pull request#96 from utPLSQL/feature/testRunnerStatement_as_dynamic_paramList
TestRunnerStatement with dynamic Parameter-list
2 parents34e7d43 +97be74d commit74daeb6

16 files changed

+646
-397
lines changed

‎.travis.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,21 @@ env:
2929
-UTPLSQL_VERSION="v3.1.3"
3030
-UTPLSQL_VERSION="v3.1.6"
3131
-UTPLSQL_VERSION="v3.1.7"
32+
-UTPLSQL_VERSION="v3.1.8"
3233
-UTPLSQL_VERSION="develop"
3334
UTPLSQL_FILE="utPLSQL"
3435

3536
matrix:
3637
include:
37-
-env:UTPLSQL_VERSION="v3.1.7"
38+
-env:UTPLSQL_VERSION="v3.1.8"
3839
jdk:openjdk9
39-
-env:UTPLSQL_VERSION="v3.1.7"
40+
-env:UTPLSQL_VERSION="v3.1.8"
4041
jdk:openjdk10
41-
-env:UTPLSQL_VERSION="v3.1.7"
42+
-env:UTPLSQL_VERSION="v3.1.8"
4243
jdk:openjdk11
43-
-env:UTPLSQL_VERSION="v3.1.7"
44+
-env:UTPLSQL_VERSION="v3.1.8"
4445
jdk:openjdk12
45-
-env:UTPLSQL_VERSION="v3.1.7"
46+
-env:UTPLSQL_VERSION="v3.1.8"
4647
jdk:openjdk13
4748

4849
before_cache:

‎.travis/maven_cfg.sh

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

‎src/main/java/org/utplsql/api/Version.java

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,19 @@ public class Version implements Comparable<Version> {
2424
publicfinalstaticVersionV3_0_2 =newVersion("3.0.2",3,0,2,null,true);
2525
publicfinalstaticVersionV3_0_3 =newVersion("3.0.3",3,0,3,null,true);
2626
publicfinalstaticVersionV3_0_4 =newVersion("3.0.4",3,0,4,null,true);
27-
publicfinalstaticVersionV3_1_0 =newVersion("3.1.0",3,1,0,null,true);
28-
publicfinalstaticVersionV3_1_1 =newVersion("3.1.1",3,1,1,null,true);
29-
publicfinalstaticVersionV3_1_2 =newVersion("3.1.2",3,1,2,null,true);
30-
publicfinalstaticVersionV3_1_3 =newVersion("3.1.3",3,1,3,null,true);
31-
publicfinalstaticVersionV3_1_4 =newVersion("3.1.4",3,1,4,null,true);
32-
publicfinalstaticVersionV3_1_5 =newVersion("3.1.5",3,1,5,null,true);
33-
publicfinalstaticVersionV3_1_6 =newVersion("3.1.6",3,1,6,null,true);
34-
publicfinalstaticVersionV3_1_7 =newVersion("3.1.7",3,1,7,null,true);
27+
publicfinalstaticVersionV3_1_0 =newVersion("3.1.0",3,1,0,1847,true);
28+
publicfinalstaticVersionV3_1_1 =newVersion("3.1.1",3,1,1,1865,true);
29+
publicfinalstaticVersionV3_1_2 =newVersion("3.1.2",3,1,2,2130,true);
30+
publicfinalstaticVersionV3_1_3 =newVersion("3.1.3",3,1,3,2398,true);
31+
publicfinalstaticVersionV3_1_4 =newVersion("3.1.4",3,1,4,2223,true);
32+
publicfinalstaticVersionV3_1_5 =newVersion("3.1.5",3,1,5,2707,true);
33+
publicfinalstaticVersionV3_1_6 =newVersion("3.1.6",3,1,6,2729,true);
34+
publicfinalstaticVersionV3_1_7 =newVersion("3.1.7",3,1,7,3085,true);
35+
publicfinalstaticVersionV3_1_8 =newVersion("3.1.8",3,1,8,3188,true);
3536
privatefinalstaticMap<String,Version>knownVersions =
36-
Stream.of(V3_0_0,V3_0_1,V3_0_2,V3_0_3,V3_0_4,V3_1_0,V3_1_1,V3_1_2,V3_1_3,V3_1_4,V3_1_5,V3_1_6,V3_1_7)
37+
Stream.of(V3_0_0,V3_0_1,V3_0_2,V3_0_3,V3_0_4,V3_1_0,V3_1_1,V3_1_2,V3_1_3,V3_1_4,V3_1_5,V3_1_6,V3_1_7,V3_1_8)
3738
.collect(toMap(Version::toString,Function.identity()));
38-
publicfinalstaticVersionLATEST =V3_1_7;
39+
publicfinalstaticVersionLATEST =V3_1_8;
3940

4041
privatefinalStringorigString;
4142
privatefinalIntegermajor;
@@ -167,10 +168,14 @@ public String getNormalizedString() {
167168
}
168169

169170
privateintcompareToWithNulls(@NullableIntegeri1,@NullableIntegeri2) {
171+
returncompareToWithNulls(i1,i2,false);
172+
}
173+
174+
privateintcompareToWithNulls(@NullableIntegeri1,@NullableIntegeri2,booleannullMeansEqual) {
170175
if (i1 ==null &&i2 ==null) {
171176
return0;
172177
}elseif (i1 ==null) {
173-
return -1;
178+
returnnullMeansEqual ?0 :-1;
174179
}elseif (i2 ==null) {
175180
return1;
176181
}else {
@@ -180,26 +185,30 @@ private int compareToWithNulls(@Nullable Integer i1, @Nullable Integer i2) {
180185

181186
@Override
182187
publicintcompareTo(Versiono) {
188+
returncompareTo(o,false);
189+
}
190+
191+
publicintcompareTo(Versiono,booleannullMeansEqual) {
183192
intcurResult;
184193

185194
if (isValid() &&o.isValid()) {
186195

187-
curResult =compareToWithNulls(getMajor(),o.getMajor());
196+
curResult =compareToWithNulls(getMajor(),o.getMajor(),nullMeansEqual);
188197
if (curResult !=0) {
189198
returncurResult;
190199
}
191200

192-
curResult =compareToWithNulls(getMinor(),o.getMinor());
201+
curResult =compareToWithNulls(getMinor(),o.getMinor(),nullMeansEqual);
193202
if (curResult !=0) {
194203
returncurResult;
195204
}
196205

197-
curResult =compareToWithNulls(getBugfix(),o.getBugfix());
206+
curResult =compareToWithNulls(getBugfix(),o.getBugfix(),nullMeansEqual);
198207
if (curResult !=0) {
199208
returncurResult;
200209
}
201210

202-
curResult =compareToWithNulls(getBuild(),o.getBuild());
211+
curResult =compareToWithNulls(getBuild(),o.getBuild(),nullMeansEqual);
203212
if (curResult !=0) {
204213
returncurResult;
205214
}
@@ -220,6 +229,7 @@ private void versionsAreValid(Version v) throws InvalidVersionException {
220229

221230
/**
222231
* Compares this version to a given version and returns true if this version is greater or equal than the given one
232+
* If one of the version parts of the base version is null, this level is assumed equal no matter the comparing level's version part
223233
* Throws an InvalidVersionException if either this or the given version are invalid
224234
*
225235
* @param v Version to compare with
@@ -230,7 +240,7 @@ public boolean isGreaterOrEqualThan(Version v) throws InvalidVersionException {
230240

231241
versionsAreValid(v);
232242

233-
returncompareTo(v) >=0;
243+
returncompareTo(v,true) >=0;
234244
}
235245

236246

@@ -240,11 +250,20 @@ public boolean isGreaterThan(Version v) throws InvalidVersionException {
240250
returncompareTo(v) >0;
241251
}
242252

253+
/**
254+
* Compares this version to a given version and returns true if this version is less or equal than the given one
255+
* If one of the version parts of the base version is null, this level is assumed equal no matter the comparing level's version part
256+
* Throws an InvalidVersionException if either this or the given version are invalid
257+
*
258+
* @param v Version to compare with
259+
* @return
260+
* @throws InvalidVersionException
261+
*/
243262
publicbooleanisLessOrEqualThan(Versionv)throwsInvalidVersionException {
244263

245264
versionsAreValid(v);
246265

247-
returncompareTo(v) <=0;
266+
returncompareTo(v,true) <=0;
248267
}
249268

250269
publicbooleanisLessThan(Versionv)throwsInvalidVersionException {

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

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ public class DynamicParameterList {
2020

2121
interfaceDynamicParameter {
2222
voidsetParam(CallableStatementstatement,intindex )throwsSQLException;
23+
24+
defaultStringgetSql(Stringkey ) {
25+
returnkey +" => ?";
26+
}
2327
}
2428

2529
privateDynamicParameterList(LinkedHashMap<String,DynamicParameter>params) {
@@ -33,8 +37,8 @@ private DynamicParameterList(LinkedHashMap<String, DynamicParameter> params) {
3337
* @return comma-separated list of parameter identifiers
3438
*/
3539
publicStringgetSql() {
36-
returnparams.keySet().stream()
37-
.map(e ->e +" => ?")
40+
returnparams.entrySet().stream()
41+
.map(e ->e.getValue().getSql(e.getKey()))
3842
.collect(Collectors.joining(", "));
3943
}
4044

@@ -115,6 +119,18 @@ public DynamicParameterListBuilder addIfNotEmpty(String identifier, Object[] val
115119
returnthis;
116120
}
117121

122+
publicDynamicParameterListBuilderadd(Stringidentifier,Booleanvalue) {
123+
params.put(identifier,newDynamicBoolParameter(value));
124+
returnthis;
125+
}
126+
127+
publicDynamicParameterListBuilderaddIfNotEmpty(Stringidentifier,Booleanvalue) {
128+
if (value !=null ) {
129+
add(identifier,value);
130+
}
131+
returnthis;
132+
}
133+
118134
publicDynamicParameterListbuild() {
119135
returnnewDynamicParameterList(params);
120136
}
@@ -155,6 +171,28 @@ public void setParam(CallableStatement statement, int index) throws SQLException
155171
}
156172
}
157173

174+
privatestaticclassDynamicBoolParameterimplementsDynamicParameter {
175+
privatefinalBooleanvalue;
176+
177+
DynamicBoolParameter(Booleanvalue ) {
178+
this.value =value;
179+
}
180+
181+
@Override
182+
publicvoidsetParam(CallableStatementstatement,intindex)throwsSQLException {
183+
if (value ==null ) {
184+
statement.setNull(index,Types.BOOLEAN);
185+
}else {
186+
statement.setInt(index, (value)?1:0);
187+
}
188+
}
189+
190+
@Override
191+
publicStringgetSql(Stringkey) {
192+
returnkey +" => (case ? when 1 then true else false end)";
193+
}
194+
}
195+
158196
privatestaticclassDynamicArrayParameterimplementsDynamicParameter {
159197
privatefinalObject[]value;
160198
privatefinalStringcustomTypeName;
@@ -172,7 +210,8 @@ public void setParam(CallableStatement statement, int index) throws SQLException
172210
statement.setNull(index,Types.ARRAY,customTypeName);
173211
}else {
174212
statement.setArray(
175-
index,oraConnection.createOracleArray(customTypeName,value)
213+
index,
214+
oraConnection.createOracleArray(customTypeName,value)
176215
);
177216
}
178217
}

‎src/main/java/org/utplsql/api/testRunner/AbstractTestRunnerStatement.java

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp