Migrated Query 3 - Using Parameterized query
This commit is contained in:
@@ -10,7 +10,8 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class CasePunching {
|
||||
private ErrorDetails errorDetails;
|
||||
private Map<String, String> options;
|
||||
private Map<String, String> optionsl;
|
||||
private Map<String, List<Option>> options;
|
||||
private List<String> visibleSections;
|
||||
private Integer portfolioId;
|
||||
private Integer formMode;
|
||||
|
||||
12
cygnus-lib/src/main/java/lib/models/Option.java
Normal file
12
cygnus-lib/src/main/java/lib/models/Option.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package lib.models;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class Option {
|
||||
private Object value;
|
||||
private String label;
|
||||
private String group;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
cygnus-lib/target/classes/lib/models/Option.class
Normal file
BIN
cygnus-lib/target/classes/lib/models/Option.class
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
lib/constants/ApplicationError.class
|
||||
lib/models/ErrorDetails.class
|
||||
lib/models/CasePunching.class
|
||||
lib/constants/ApplicationError.class
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/Users/maddy/Projects/cygnus/matrix/cygnus-lib/src/main/java/lib/constants/ApplicationError.java
|
||||
/Users/maddy/Projects/cygnus/matrix/cygnus-lib/src/main/java/lib/models/CasePunching.java
|
||||
/Users/maddy/Projects/cygnus/matrix/cygnus-lib/src/main/java/lib/models/ErrorDetails.java
|
||||
/Users/maddy/Projects/cygnus/matrix/cygnus-lib/src/main/java/lib/models/Option.java
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" version="3.0.2" name="lib.models.ErrorDetailsTest" time="0.025" tests="2" errors="0" skipped="0" failures="0">
|
||||
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" version="3.0.2" name="lib.models.ErrorDetailsTest" time="0.024" tests="2" errors="0" skipped="0" failures="0">
|
||||
<properties>
|
||||
<property name="java.specification.version" value="25"/>
|
||||
<property name="sun.jnu.encoding" value="UTF-8"/>
|
||||
@@ -12,7 +12,7 @@
|
||||
<property name="sun.java.launcher" value="SUN_STANDARD"/>
|
||||
<property name="user.country" value="US"/>
|
||||
<property name="sun.boot.library.path" value="/opt/homebrew/Cellar/openjdk/25.0.2/libexec/openjdk.jdk/Contents/Home/lib"/>
|
||||
<property name="sun.java.command" value="/Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/surefire/surefirebooter-20260801181214398_3.jar /Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/surefire 2026-08-01T18-12-14_354-jvmRun1 surefire-20260801181214398_1tmp surefire_0-20260801181214398_2tmp"/>
|
||||
<property name="sun.java.command" value="/Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/surefire/surefirebooter-20260801204253825_3.jar /Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/surefire 2026-08-01T20-42-53_787-jvmRun1 surefire-20260801204253825_1tmp surefire_0-20260801204253825_2tmp"/>
|
||||
<property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
|
||||
<property name="jdk.debug" value="release"/>
|
||||
<property name="surefire.test.class.path" value="/Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/test-classes:/Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/classes:/Users/maddy/.m2/repository/org/projectlombok/lombok/1.18.46/lombok-1.18.46.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter/5.12.2/junit-jupiter-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.12.2/junit-jupiter-api-5.12.2.jar:/Users/maddy/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/Users/maddy/.m2/repository/org/junit/platform/junit-platform-commons/1.12.2/junit-platform-commons-1.12.2.jar:/Users/maddy/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.12.2/junit-jupiter-params-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.12.2/junit-jupiter-engine-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/platform/junit-platform-engine/1.12.2/junit-platform-engine-1.12.2.jar:"/>
|
||||
@@ -29,7 +29,7 @@
|
||||
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="java.specification.name" value="Java Platform API Specification"/>
|
||||
<property name="apple.awt.application.name" value="ForkedBooter"/>
|
||||
<property name="surefire.real.class.path" value="/Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/surefire/surefirebooter-20260801181214398_3.jar"/>
|
||||
<property name="surefire.real.class.path" value="/Users/maddy/Projects/cygnus/matrix/cygnus-lib/target/surefire/surefirebooter-20260801204253825_3.jar"/>
|
||||
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
|
||||
<property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
|
||||
<property name="java.runtime.version" value="25.0.2"/>
|
||||
@@ -59,6 +59,6 @@
|
||||
<property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
|
||||
<property name="java.class.version" value="69.0"/>
|
||||
</properties>
|
||||
<testcase name="mapsHttpStatusToCanonicalError" classname="lib.models.ErrorDetailsTest" time="0.009"/>
|
||||
<testcase name="createsAReusableErrorContract" classname="lib.models.ErrorDetailsTest" time="0.008"/>
|
||||
<testcase name="mapsHttpStatusToCanonicalError" classname="lib.models.ErrorDetailsTest" time="0.008"/>
|
||||
<testcase name="createsAReusableErrorContract" classname="lib.models.ErrorDetailsTest" time="0.007"/>
|
||||
</testsuite>
|
||||
@@ -1,4 +1,4 @@
|
||||
-------------------------------------------------------------------------------
|
||||
Test set: lib.models.ErrorDetailsTest
|
||||
-------------------------------------------------------------------------------
|
||||
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.025 s -- in lib.models.ErrorDetailsTest
|
||||
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 s -- in lib.models.ErrorDetailsTest
|
||||
|
||||
Binary file not shown.
@@ -79,11 +79,9 @@
|
||||
<option value="-1" selected >SELECT PORTFOLIO</option>
|
||||
<c:choose>
|
||||
<c:when test="${not empty model}">
|
||||
<c:forEach items="${model.options}" var="port">
|
||||
<c:if test="${fn:startsWith(port.key, 'portfolio.')}">
|
||||
<option value="${fn:substringAfter(port.key, 'portfolio.')}"><c:out value="${port.value}" /></option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:forEach items="${model.options['portfolio.']}" var="port">
|
||||
<option value="${port.value}"><c:out value="${port.label}" /></option>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:forEach items="${portlist}" var="port">
|
||||
|
||||
@@ -28,6 +28,7 @@ public class ModernDbConfiguration implements DisposableBean {
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
if (installed != null) ModernDbExecutors.clear(installed);
|
||||
if (installed != null)
|
||||
ModernDbExecutors.clear(installed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package matrix.services.commons;
|
||||
|
||||
import com.cygnus.db.CygnusDbExecutor;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import lib.models.Option;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import matrix.nimble.model.Session;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@@ -15,6 +20,19 @@ public class CommonService {
|
||||
"SubmitMenuCommand\\(\\s*'([^']+)'\\s*,",
|
||||
Pattern.CASE_INSENSITIVE);
|
||||
|
||||
private final CygnusDbExecutor dbExecutor;
|
||||
|
||||
@Autowired
|
||||
public CommonService(CygnusDbExecutor dbExecutor) {
|
||||
this.dbExecutor = Objects.requireNonNull(dbExecutor, "dbExecutor");
|
||||
}
|
||||
|
||||
/* Used by the session-only unit tests. Production construction is handled
|
||||
by Spring through the CygnusDbExecutor constructor above. */
|
||||
public CommonService() {
|
||||
this.dbExecutor = null;
|
||||
}
|
||||
|
||||
public Session getSession(HttpSession httpSession) {
|
||||
if (httpSession == null) {
|
||||
return null;
|
||||
@@ -70,4 +88,15 @@ public class CommonService {
|
||||
int slash = normalized.lastIndexOf('/');
|
||||
return slash >= 0 ? normalized.substring(slash + 1) : normalized;
|
||||
}
|
||||
|
||||
public List<Option> getOptions(Integer queryId, Object[] queryParams) {
|
||||
if (queryId == null) {
|
||||
return List.of();
|
||||
}
|
||||
if (dbExecutor == null) {
|
||||
throw new IllegalStateException("CygnusDbExecutor is not configured");
|
||||
}
|
||||
Object[] parameters = queryParams == null ? new Object[0] : queryParams;
|
||||
return dbExecutor.query(queryId, parameters, Option.class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,10 +10,12 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import lib.models.CasePunching;
|
||||
import lib.models.ErrorDetails;
|
||||
import lib.models.Option;
|
||||
import lib.constants.ApplicationError;
|
||||
import matrix.nimble.edp.punching.model.PunchingHandler;
|
||||
import matrix.nimble.utilities.CommonFunctions;
|
||||
import matrix.nimble.utilities.GlobalClass;
|
||||
import matrix.services.commons.CommonService;
|
||||
|
||||
@Service
|
||||
public class PunchingService {
|
||||
@@ -25,18 +27,27 @@ public class PunchingService {
|
||||
private static final String APPLICATION_TYPE = "applicationType.";
|
||||
private static final String CATEGORY = "category.";
|
||||
|
||||
private final CommonService commonService;
|
||||
|
||||
public PunchingService(CommonService commonService) {
|
||||
this.commonService = commonService;
|
||||
}
|
||||
|
||||
public CasePunching init(
|
||||
String branchIds,
|
||||
String branchId,
|
||||
String userId,
|
||||
String verificationCaseId,
|
||||
String documentCaseId) {
|
||||
PunchingHandler punchingHandler = new PunchingHandler();
|
||||
punchingHandler.setErrCode("1001");
|
||||
punchingHandler.GetDDValues(3, branchIds.split(GlobalClass.ColDelim));
|
||||
|
||||
CasePunching casePunching = new CasePunching();
|
||||
Map<String, String> options = new LinkedHashMap<>();
|
||||
addOptions(options, PORTFOLIO, punchingHandler.getOptionvals());
|
||||
Map<String, List<Option>> options = new LinkedHashMap<>();
|
||||
Short databaseBranchId = Short.valueOf(branchId.trim());
|
||||
List<Option> portfolios = commonService.getOptions(
|
||||
3, new Object[] { databaseBranchId, Short.valueOf((short) 1) });
|
||||
|
||||
addOptions(options, PORTFOLIO, portfolios);
|
||||
casePunching.setOptions(Collections.unmodifiableMap(options));
|
||||
casePunching.setVisibleSections(List.of());
|
||||
casePunching.setPortfolioId(-1);
|
||||
@@ -120,7 +131,7 @@ public class PunchingService {
|
||||
addOptions(options, CATEGORY,
|
||||
commonFunctions.GetSubArray("CATEGORY", 2, portfolioOptions));
|
||||
}
|
||||
result.setOptions(Collections.unmodifiableMap(options));
|
||||
result.setOptionsl(Collections.unmodifiableMap(options));
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -149,6 +160,24 @@ public class PunchingService {
|
||||
}
|
||||
}
|
||||
|
||||
private void addOptions(Map<String, List<Option>> options, String prefix, List<Option> values) {
|
||||
if (values == null || values.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Option> groupOptions = options.get(prefix);
|
||||
for (Option value : values) {
|
||||
if (value == null || value.getValue() == null) {
|
||||
continue;
|
||||
}
|
||||
if (groupOptions == null) {
|
||||
groupOptions = new java.util.ArrayList<>(values.size());
|
||||
options.put(prefix, groupOptions);
|
||||
}
|
||||
groupOptions.add(value);
|
||||
}
|
||||
}
|
||||
|
||||
private List<String> toVisibleSections(String sections) {
|
||||
if (sections == null || sections.isBlank()) {
|
||||
return List.of();
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" version="3.0.2" name="com.cygnus.db.JdbcCygnusDbExecutorTest" time="0.124" tests="5" errors="0" skipped="0" failures="0">
|
||||
<properties>
|
||||
<property name="java.specification.version" value="25"/>
|
||||
<property name="sun.jnu.encoding" value="UTF-8"/>
|
||||
<property name="java.class.path" value="/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/test-classes:/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/classes:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter/5.12.2/junit-jupiter-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.12.2/junit-jupiter-api-5.12.2.jar:/Users/maddy/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/Users/maddy/.m2/repository/org/junit/platform/junit-platform-commons/1.12.2/junit-platform-commons-1.12.2.jar:/Users/maddy/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.12.2/junit-jupiter-params-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.12.2/junit-jupiter-engine-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/platform/junit-platform-engine/1.12.2/junit-platform-engine-1.12.2.jar:/Users/maddy/.m2/repository/com/h2database/h2/2.3.232/h2-2.3.232.jar:"/>
|
||||
<property name="java.vm.vendor" value="Homebrew"/>
|
||||
<property name="sun.arch.data.model" value="64"/>
|
||||
<property name="java.vendor.url" value="https://github.com/Homebrew/homebrew-core/issues"/>
|
||||
<property name="user.timezone" value="Asia/Kolkata"/>
|
||||
<property name="os.name" value="Mac OS X"/>
|
||||
<property name="java.vm.specification.version" value="25"/>
|
||||
<property name="sun.java.launcher" value="SUN_STANDARD"/>
|
||||
<property name="user.country" value="US"/>
|
||||
<property name="sun.boot.library.path" value="/opt/homebrew/Cellar/openjdk/25.0.2/libexec/openjdk.jdk/Contents/Home/lib"/>
|
||||
<property name="sun.java.command" value="/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/surefire/surefirebooter-20260801204254090_6.jar /Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/surefire 2026-08-01T20-42-53_787-jvmRun1 surefire-20260801204254090_4tmp surefire_1-20260801204254090_5tmp"/>
|
||||
<property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
|
||||
<property name="jdk.debug" value="release"/>
|
||||
<property name="surefire.test.class.path" value="/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/test-classes:/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/classes:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter/5.12.2/junit-jupiter-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.12.2/junit-jupiter-api-5.12.2.jar:/Users/maddy/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/Users/maddy/.m2/repository/org/junit/platform/junit-platform-commons/1.12.2/junit-platform-commons-1.12.2.jar:/Users/maddy/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.12.2/junit-jupiter-params-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.12.2/junit-jupiter-engine-5.12.2.jar:/Users/maddy/.m2/repository/org/junit/platform/junit-platform-engine/1.12.2/junit-platform-engine-1.12.2.jar:/Users/maddy/.m2/repository/com/h2database/h2/2.3.232/h2-2.3.232.jar:"/>
|
||||
<property name="sun.cpu.endian" value="little"/>
|
||||
<property name="user.home" value="/Users/maddy"/>
|
||||
<property name="user.language" value="en"/>
|
||||
<property name="java.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="java.version.date" value="2026-01-20"/>
|
||||
<property name="java.home" value="/opt/homebrew/Cellar/openjdk/25.0.2/libexec/openjdk.jdk/Contents/Home"/>
|
||||
<property name="file.separator" value="/"/>
|
||||
<property name="basedir" value="/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db"/>
|
||||
<property name="java.vm.compressedOopsMode" value="Zero based"/>
|
||||
<property name="line.separator" value=" "/>
|
||||
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="java.specification.name" value="Java Platform API Specification"/>
|
||||
<property name="apple.awt.application.name" value="ForkedBooter"/>
|
||||
<property name="surefire.real.class.path" value="/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db/target/surefire/surefirebooter-20260801204254090_6.jar"/>
|
||||
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
|
||||
<property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
|
||||
<property name="java.runtime.version" value="25.0.2"/>
|
||||
<property name="user.name" value="maddy"/>
|
||||
<property name="stdout.encoding" value="UTF-8"/>
|
||||
<property name="path.separator" value=":"/>
|
||||
<property name="os.version" value="26.5.2"/>
|
||||
<property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
|
||||
<property name="file.encoding" value="UTF-8"/>
|
||||
<property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
|
||||
<property name="java.vendor.version" value="Homebrew"/>
|
||||
<property name="localRepository" value="/Users/maddy/.m2/repository"/>
|
||||
<property name="java.vendor.url.bug" value="https://github.com/Homebrew/homebrew-core/issues"/>
|
||||
<property name="java.io.tmpdir" value="/var/folders/1l/36214rdn79755j30lcnmgsqh0000gn/T/"/>
|
||||
<property name="java.version" value="25.0.2"/>
|
||||
<property name="user.dir" value="/Users/maddy/Projects/cygnus/matrix/cygnus-onprem-db"/>
|
||||
<property name="os.arch" value="aarch64"/>
|
||||
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
|
||||
<property name="native.encoding" value="UTF-8"/>
|
||||
<property name="java.library.path" value="/Users/maddy/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
|
||||
<property name="java.vm.info" value="mixed mode, sharing"/>
|
||||
<property name="stderr.encoding" value="UTF-8"/>
|
||||
<property name="java.vendor" value="Homebrew"/>
|
||||
<property name="java.vm.version" value="25.0.2"/>
|
||||
<property name="stdin.encoding" value="UTF-8"/>
|
||||
<property name="sun.io.unicode.encoding" value="UnicodeBig"/>
|
||||
<property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
|
||||
<property name="java.class.version" value="69.0"/>
|
||||
</properties>
|
||||
<testcase name="executesProcedureAndStreamsWithoutMaterializingRows" classname="com.cygnus.db.JdbcCygnusDbExecutorTest" time="0.095"/>
|
||||
<testcase name="executesInsertUpdateDeleteAndGeneratedKeys" classname="com.cygnus.db.JdbcCygnusDbExecutorTest" time="0.004"/>
|
||||
<testcase name="mapsSelectDirectlyToRecordsAndDynamicRows" classname="com.cygnus.db.JdbcCygnusDbExecutorTest" time="0.009"/>
|
||||
<testcase name="rollsBackFailedTransactions" classname="com.cygnus.db.JdbcCygnusDbExecutorTest" time="0.003"/>
|
||||
<testcase name="rejectsLegacyStringReplacementQueries" classname="com.cygnus.db.JdbcCygnusDbExecutorTest" time="0.002"/>
|
||||
</testsuite>
|
||||
@@ -0,0 +1,4 @@
|
||||
-------------------------------------------------------------------------------
|
||||
Test set: com.cygnus.db.JdbcCygnusDbExecutorTest
|
||||
-------------------------------------------------------------------------------
|
||||
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.124 s -- in com.cygnus.db.JdbcCygnusDbExecutorTest
|
||||
Reference in New Issue
Block a user