From f2a57d9ce3ee8fd7dda4e09e6051bc4c4a3223ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Sat, 14 Jan 2023 23:04:44 +0100 Subject: [PATCH] element set name optional, skio additional search info, add LVI test --- gradle/test/junit5.gradle | 23 ++++++++- .../org/xbib/z3950/client/jdk/JDKZClient.java | 4 +- .../common/operations/InitOperation.java | 2 +- .../common/operations/PresentOperation.java | 10 ++-- .../common/operations/SearchOperation.java | 50 +++---------------- .../org/xbib/z3950/groovy/COPACTest.groovy | 2 +- .../org/xbib/z3950/groovy/LVITest.groovy | 36 +++++++++++++ 7 files changed, 74 insertions(+), 53 deletions(-) create mode 100644 z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/LVITest.groovy diff --git a/gradle/test/junit5.gradle b/gradle/test/junit5.gradle index d7a8070..f111a98 100644 --- a/gradle/test/junit5.gradle +++ b/gradle/test/junit5.gradle @@ -7,9 +7,28 @@ dependencies { test { useJUnitPlatform() - failFast = true + failFast = false + ignoreFailures = true + jvmArgs '--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED', + '--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED', + '--add-exports=java.base/sun.nio.ch=ALL-UNNAMED', + '--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED', + '--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED', + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/java.io=ALL-UNNAMED', + '--add-opens=java.base/java.nio=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED' + systemProperty 'java.util.logging.config.file', 'src/test/resources/logging.properties' + systemProperty 'io.netty.tryReflectionSetAccessible', 'true' testLogging { events 'STARTED', 'PASSED', 'FAILED', 'SKIPPED' + showStandardStreams = true + } + reports { + html.required = false + junitXml.outputLocation.set(layout.buildDirectory.dir("test-junit-xml")) } afterSuite { desc, result -> if (!desc.parent) { @@ -20,4 +39,4 @@ test { "${result.skippedTestCount} skipped" } } -} +} \ No newline at end of file diff --git a/z3950-client-jdk/src/main/java/org/xbib/z3950/client/jdk/JDKZClient.java b/z3950-client-jdk/src/main/java/org/xbib/z3950/client/jdk/JDKZClient.java index cf09314..73daa30 100644 --- a/z3950-client-jdk/src/main/java/org/xbib/z3950/client/jdk/JDKZClient.java +++ b/z3950-client-jdk/src/main/java/org/xbib/z3950/client/jdk/JDKZClient.java @@ -397,7 +397,7 @@ public class JDKZClient implements Client, Closeable { private String resultSetName = "default"; - private String elementSetName = "F"; + private String elementSetName = null; private String encoding = "ANSEL"; @@ -407,7 +407,7 @@ public class JDKZClient implements Client, Closeable { private List databases = Collections.singletonList(""); - private Integer preferredMessageSize = 1024 * 1024; + private Integer preferredMessageSize = 10 * 1024 * 1024; private InitListener initListener; diff --git a/z3950-common/src/main/java/org/xbib/z3950/common/operations/InitOperation.java b/z3950-common/src/main/java/org/xbib/z3950/common/operations/InitOperation.java index 88fdd7e..08a7bac 100644 --- a/z3950-common/src/main/java/org/xbib/z3950/common/operations/InitOperation.java +++ b/z3950-common/src/main/java/org/xbib/z3950/common/operations/InitOperation.java @@ -89,7 +89,7 @@ public class InitOperation extends AbstractOperation { private static final Logger logger = Logger.getLogger(SearchOperation.class.getName()); - private int count = -1; - - private boolean status = false; - - private final Map results; - private final String resultSetName; private final List databases; private final String host; + private int count; + + private boolean status; + public SearchOperation(BERReader reader, BERWriter writer, String resultSetName, List databases, @@ -57,7 +49,8 @@ public class SearchOperation extends AbstractOperation(); + this.count = -1; + this.status = false; } public boolean executePQF(String pqf) throws IOException { @@ -109,35 +102,10 @@ public class SearchOperation extends AbstractOperation getResults() { - return results; - } - private RPNQuery createRPNQueryFromCQL(String query) { CQLRPNGenerator generator = new CQLRPNGenerator(); CQLParser parser = new CQLParser(query); diff --git a/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/COPACTest.groovy b/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/COPACTest.groovy index 8dcd0c6..462fe94 100644 --- a/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/COPACTest.groovy +++ b/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/COPACTest.groovy @@ -16,7 +16,7 @@ class COPACTest { String database = "COPAC" String query = "@attr 1=1 smith" // "1.2.840.10003.5.10"; // MARC - String preferredRecordSyntax = "1.2.840.10003.5.109.10" // xml + String preferredRecordSyntax = "xml" // "1.2.840.10003.5.109.10" // xml int from = 1 int length = 1 JDKZClient client = JDKZClient.builder() diff --git a/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/LVITest.groovy b/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/LVITest.groovy new file mode 100644 index 0000000..9083bd7 --- /dev/null +++ b/z3950-groovy/src/test/groovy/org/xbib/z3950/groovy/LVITest.groovy @@ -0,0 +1,36 @@ +package org.xbib.z3950.groovy + +import groovy.util.logging.Log +import org.junit.jupiter.api.Disabled +import org.junit.jupiter.api.Test +import org.xbib.z3950.client.jdk.JDKZClient + +import java.util.logging.Level + +@Log +@Disabled("internal test") +class LVITest { + + @Test + void testLVI() { + String host = "localhost" + int port = 2100 + String database = "lvi" + String query = "@attr 1=4 linux" + String preferredRecordSyntax = "xml" + int from = 1 + int size = 1 + JDKZClient client = JDKZClient.builder() + .setHost(host) + .setPort(port) + .setDatabases(Collections.singletonList(database)) + .setPreferredRecordSyntax(preferredRecordSyntax) + .build() + client.withCloseable {cl -> + cl.searchPQF(query, from, size, + (status, total, returned, elapsedMillis) -> log.log(Level.INFO, "total records = " + total), + record -> log.log(Level.INFO, "found record " + record), + () -> log.log(Level.WARNING, "timeout")) + } + } +}