diff --git a/buildSrc/.gradle/8.10/executionHistory/executionHistory.bin b/buildSrc/.gradle/8.10/executionHistory/executionHistory.bin index bcc740f..528f3c1 100644 Binary files a/buildSrc/.gradle/8.10/executionHistory/executionHistory.bin and b/buildSrc/.gradle/8.10/executionHistory/executionHistory.bin differ diff --git a/buildSrc/.gradle/8.10/executionHistory/executionHistory.lock b/buildSrc/.gradle/8.10/executionHistory/executionHistory.lock index 14ed369..295daca 100644 Binary files a/buildSrc/.gradle/8.10/executionHistory/executionHistory.lock and b/buildSrc/.gradle/8.10/executionHistory/executionHistory.lock differ diff --git a/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 569a097..a79f2f0 100644 Binary files a/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index b940032..277ab72 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -17,7 +17,9 @@ repositories { } dependencies { -implementation group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: '4.0.2' +implementation group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: '3.0.1' implementation group: 'jakarta.xml.soap', name: 'jakarta.xml.soap-api', version: '3.0.2' -implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.2' +implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' +implementation group: 'com.sun.xml.messaging.saaj', name: 'saaj-impl', version: '3.0.4' + } diff --git a/buildSrc/build/tmp/compileJava/previous-compilation-data.bin b/buildSrc/build/tmp/compileJava/previous-compilation-data.bin index 56ed113..961ea1c 100644 Binary files a/buildSrc/build/tmp/compileJava/previous-compilation-data.bin and b/buildSrc/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/onvif-java/build.gradle b/onvif-java/build.gradle index 189b9ef..9d0267d 100644 --- a/onvif-java/build.gradle +++ b/onvif-java/build.gradle @@ -15,19 +15,25 @@ repositories { // uri = uri("https://build.shibboleth.net/maven/releases/org/opensaml/") } +configurations.all { + resolutionStrategy { + force group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' + } +} + dependencies { // implementation group: 'org.apache.cxf', name: 'cxf-rt-frontend-jaxws', version: '4.0.5' // implementation group: 'org.apache.cxf', name: 'cxf-rt-ws-security', version: '4.0.5' // implementation group: 'org.apache.cxf', name: 'cxf-rt-transports-http', version: '4.0.5' // implementation group: 'org.apache.cxf', name: 'apache-cxf', version: '4.0.5', ext: 'pom' implementation group: 'jakarta.jws', name: 'jakarta.jws-api', version: '3.0.0' - implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.2' + implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' implementation group: 'org.apache.cxf', name: 'cxf-rt-frontend-jaxws', version: '4.0.5' implementation group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '3.0.2' - implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.2' - implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '4.0.5' - implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '4.0.5' + implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' + // implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '4.0.5' + // implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '4.0.5' implementation group: 'org.apache.wss4j', name: 'wss4j-ws-security-dom', version: '3.0.4' implementation group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1' @@ -43,16 +49,18 @@ dependencies { implementation group: 'org.opensaml', name: 'opensaml-messaging-api', version: '4.3.0' implementation group: 'org.opensaml', name: 'opensaml-soap-impl', version: '4.3.0' - implementation group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: '4.0.2' + implementation group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: '3.0.1' implementation group: 'jakarta.xml.soap', name: 'jakarta.xml.soap-api', version: '3.0.2' - implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.2' + implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: '2.1.3' + implementation group: 'com.sun.xml.messaging.saaj', name: 'saaj-impl', version: '3.0.4' + api project(':onvif-ws-client') api libs.commons.io.commons.io api libs.commons.codec.commons.codec api libs.org.apache.commons.commons.lang3 - api libs.com.sun.xml.messaging.saaj.saaj.impl + // api libs.com.sun.xml.messaging.saaj.saaj.impl // api libs.com.sun.activation.javax.activation diff --git a/onvif-java/pom.xml b/onvif-java/pom.xml deleted file mode 100644 index 612b04e..0000000 --- a/onvif-java/pom.xml +++ /dev/null @@ -1,120 +0,0 @@ - - 4.0.0 - - org.onvif - onvif - 1.0-SNAPSHOT - - onvif-java - - - - - org.apache.cxf - cxf-rt-frontend-jaxws - ${cxf.version} - - - org.apache.cxf - cxf-rt-ws-security - ${cxf.version} - - - org.apache.cxf - cxf-rt-transports-http - ${cxf.version} - - - - - - - - - - - - - - org.onvif - onvif-ws-client - ${project.version} - - - commons-io - commons-io - 2.14.0 - - - commons-codec - commons-codec - 1.10 - - - org.apache.commons - commons-lang3 - 3.4 - - - - - - - com.sun.xml.messaging.saaj - saaj-impl - 1.5.1 - - - - - - - - - com.sun.activation - javax.activation - ${javax.activation.version} - - - - javax.xml.bind - jaxb-api - ${jaxb.api.version} - - - - com.sun.xml.bind - jaxb-core - 2.3.0.1 - - - - com.sun.xml.bind - jaxb-impl - ${jaxb.api.version} - - - - - - - - - org.slf4j - slf4j-simple - 1.7.26 - test - - - - - - diff --git a/onvif-java/src/main/java/de/onvif/discovery/DeviceDiscovery.java b/onvif-java/src/main/java/de/onvif/discovery/DeviceDiscovery.java index e8f3670..28a6968 100644 --- a/onvif-java/src/main/java/de/onvif/discovery/DeviceDiscovery.java +++ b/onvif-java/src/main/java/de/onvif/discovery/DeviceDiscovery.java @@ -93,9 +93,8 @@ public class DeviceDiscovery { for (String key : discoverWsDevices()) { try { final URL url = new URL(key); - boolean ok = true; - if (regexpProtocol.length() > 0 && !url.getProtocol().matches(regexpProtocol)) ok = false; - if (regexpPath.length() > 0 && !url.getPath().matches(regexpPath)) ok = false; + boolean ok = regexpProtocol.length() <= 0 || url.getProtocol().matches(regexpProtocol); + if (regexpPath.length() > 0 && !url.getPath().matches(regexpPath)) ok = false; // ignore ip6 hosts if (ok && !enableIPv6 && url.getHost().startsWith("[")) ok = false; if (ok) urls.add(url); diff --git a/onvif-java/src/main/java/de/onvif/soap/NaiveSSLHelper.java b/onvif-java/src/main/java/de/onvif/soap/NaiveSSLHelper.java index fd99b4f..e1c0c89 100644 --- a/onvif-java/src/main/java/de/onvif/soap/NaiveSSLHelper.java +++ b/onvif-java/src/main/java/de/onvif/soap/NaiveSSLHelper.java @@ -18,9 +18,8 @@ import org.apache.cxf.transport.http.HTTPConduit; public class NaiveSSLHelper { public static void makeWebServiceClientTrustEveryone(Object webServicePort) { - if (webServicePort instanceof BindingProvider) { - BindingProvider bp = (BindingProvider) webServicePort; - Map requestContext = bp.getRequestContext(); + if (webServicePort instanceof BindingProvider bp) { + Map requestContext = bp.getRequestContext(); requestContext.put(JAXWS_SSL_SOCKET_FACTORY, getTrustingSSLSocketFactory()); requestContext.put(JAXWS_HOSTNAME_VERIFIER, new NaiveHostnameVerifier()); } else { diff --git a/onvif-java/src/main/java/de/onvif/soap/OnvifDevice.java b/onvif-java/src/main/java/de/onvif/soap/OnvifDevice.java index 67d1264..5c29996 100644 --- a/onvif-java/src/main/java/de/onvif/soap/OnvifDevice.java +++ b/onvif-java/src/main/java/de/onvif/soap/OnvifDevice.java @@ -4,10 +4,7 @@ import de.onvif.beans.DeviceInfo; import java.net.ConnectException; import java.net.MalformedURLException; import java.net.URL; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.TimeZone; +import java.util.*; import java.util.concurrent.TimeUnit; import jakarta.xml.soap.SOAPException; import jakarta.xml.ws.BindingProvider; @@ -139,7 +136,7 @@ public class OnvifDevice { // resetSystemDateAndTime(); // don't modify the camera in a constructor.. :) - Capabilities capabilities = this.device.getCapabilities(Arrays.asList(CapabilityCategory.ALL)); + Capabilities capabilities = this.device.getCapabilities(List.of(CapabilityCategory.ALL)); if (capabilities == null) { throw new ConnectException("Capabilities not reachable."); } diff --git a/onvif-java/src/main/java/de/onvif/soap/SimpleSecurityHandler.java b/onvif-java/src/main/java/de/onvif/soap/SimpleSecurityHandler.java index 8ae0fe4..5a5b540 100644 --- a/onvif-java/src/main/java/de/onvif/soap/SimpleSecurityHandler.java +++ b/onvif-java/src/main/java/de/onvif/soap/SimpleSecurityHandler.java @@ -45,7 +45,7 @@ public class SimpleSecurityHandler implements SOAPHandler { private final String username; private final String password; private String utcTime; - private static Random rnd = new SecureRandom(); + private static final Random rnd = new SecureRandom(); public SimpleSecurityHandler(String username, String password) { this.username = username; diff --git a/onvif-java/src/test/java/org/onvif/client/GetTestDevice.java b/onvif-java/src/test/java/org/onvif/client/GetTestDevice.java index ba1626d..1db934d 100644 --- a/onvif-java/src/test/java/org/onvif/client/GetTestDevice.java +++ b/onvif-java/src/test/java/org/onvif/client/GetTestDevice.java @@ -97,7 +97,7 @@ public class GetTestDevice { private static OnvifCredentials getFirstFromResource(String resource) throws IOException { InputStream res = GetTestDevice.class.getResourceAsStream(resource); if (res != null) { - try (Scanner s = new Scanner(res, StandardCharsets.UTF_8.name());) { + try (Scanner s = new Scanner(res, StandardCharsets.UTF_8)) { s.useDelimiter("\\A"); while (s.hasNextLine()) { String line = s.nextLine(); diff --git a/onvif-java/src/test/java/org/onvif/client/ReadCommandsFromStdInput.java b/onvif-java/src/test/java/org/onvif/client/ReadCommandsFromStdInput.java index da46dda..0c94a77 100644 --- a/onvif-java/src/test/java/org/onvif/client/ReadCommandsFromStdInput.java +++ b/onvif-java/src/test/java/org/onvif/client/ReadCommandsFromStdInput.java @@ -57,9 +57,9 @@ public class ReadCommandsFromStdInput { List profiles = cam.getMedia().getProfiles(); for (Profile p : profiles) { System.out.println( - "URL from Profile \'" + "URL from Profile '" + p.getName() - + "\': " + + "': " + cam.getMedia().getSnapshotUri(p.getToken())); } break; diff --git a/onvif-java/src/test/java/org/onvif/client/SimpleTest.java b/onvif-java/src/test/java/org/onvif/client/SimpleTest.java index b15eef7..1be8c62 100644 --- a/onvif-java/src/test/java/org/onvif/client/SimpleTest.java +++ b/onvif-java/src/test/java/org/onvif/client/SimpleTest.java @@ -32,7 +32,7 @@ public class SimpleTest { OnvifDevice cam = new OnvifDevice( credentials.getHost(), credentials.getUser(), credentials.getPassword()); - System.out.printf("Connected to device %s (%s)%n", cam.getDeviceInfo(), k.toString()); + System.out.printf("Connected to device %s (%s)%n", cam.getDeviceInfo(), k); System.out.println(TestDevice.inspect(cam)); String snapshotUri = cam.getSnapshotUri(); diff --git a/onvif-java/src/test/java/org/onvif/client/WsNotificationTest.java b/onvif-java/src/test/java/org/onvif/client/WsNotificationTest.java index eed27d4..c7fb69b 100644 --- a/onvif-java/src/test/java/org/onvif/client/WsNotificationTest.java +++ b/onvif-java/src/test/java/org/onvif/client/WsNotificationTest.java @@ -66,7 +66,7 @@ public class WsNotificationTest { System.out.println("Connected to device " + cam.getDeviceInfo()); // get device capabilities - Capabilities cap = cam.getDevice().getCapabilities(Arrays.asList(CapabilityCategory.ALL)); + Capabilities cap = cam.getDevice().getCapabilities(List.of(CapabilityCategory.ALL)); System.out.println(cap.getDevice().toString()); // print profiles printProfiles(cam); diff --git a/onvif-ws-client/build-file/build.gradle b/onvif-ws-client/build-file/build.gradle deleted file mode 100644 index 0e3e740..0000000 --- a/onvif-ws-client/build-file/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'java' - id 'com.github.bjornvester.wsdl2java' version '2.0.2' -} - -sourceCompatibility = "1.8" -targetCompatibility = "1.8" - -repositories { - mavenCentral() -} - -dependencies { -// implementation 'com.sun.xml.ws:jaxws-ri:4.0.1' - implementation group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '3.0.2' - implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.2' -// implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '4.0.5' - implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: '4.1.0' -// implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: '4.0.5' -// implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '4.0.5' - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' -} - -test { - useJUnitPlatform() -} - -layout.buildDirectory.set(layout.projectDirectory.dir("onvif-ws-client/src/main/resources")) - -wsdl2java { - // layout.buildDirectory = "${projectDir}/onvif-ws-client/src/main/resources/wsdl" - verbose.set(true) - suppressGeneratedDate.set(true) - options.set(["-wsdlLocation", "null", "-catalog", "${layout.projectDirectory.dir('onvif-ws-client/src/main/resources/wsdl/jax-ws-catalog.xml')}"]) - generatedSourceDir.set(layout.projectDirectory.dir("onvif-ws-client/src/main/java")) - wsdlDir.set(layout.projectDirectory.dir("onvif-ws-client/src/main/resources")) - useJakarta.set(true) - cxfVersion.set("4.0.2") -} diff --git a/onvif-ws-client/build-file/pom.xml b/onvif-ws-client/build-file/pom.xml deleted file mode 100644 index 63bba10..0000000 --- a/onvif-ws-client/build-file/pom.xml +++ /dev/null @@ -1,189 +0,0 @@ - - 4.0.0 - - org.onvif - onvif - 1.0-SNAPSHOT - - onvif-ws-client - - - - org.apache.cxf - cxf-rt-frontend-jaxws - ${cxf.version} - - - - - - - - org.apache.cxf - cxf-rt-transports-http-jetty - ${cxf.version} - - - - - - javax.xml.ws - jaxws-api - 2.3.1 - - - - javax.jws - javax.jws-api - 1.1 - - - - org.apache.cxf.services.wsn - cxf-services-wsn-core - ${cxf.version} - - - - - org.apache.commons - commons-lang3 - 3.8.1 - compile - - - - org.apache.cxf.xjc-utils - cxf-xjc-runtime - 3.3.0 - - - - org.apache.maven - maven-model-builder - 3.6.1 - - - - - - - - org.apache.cxf - cxf-codegen-plugin - 3.3.2 - - - generate-ws-stubs - generate-sources - - wsdl2java - - - ${basedir}/src/main/resources/wsdl - ${basedir}/src/main/java - - - *.wsdl - - - - - -xjc-Xbg - -xjc-Xts - -verbose - -suppress-generated-date - -wsdlLocation - null - - -catalog - ${basedir}/src/main/resources/wsdl/jax-ws-catalog.xml - - - - - - - - - org.apache.cxf - cxf-rt-bindings-soap - 3.1.0 - - - - org.apache.cxf.xjcplugins - cxf-xjc-boolean - 3.1.0 - - - - org.apache.cxf.xjcplugins - cxf-xjc-ts - 3.1.0 - - - org.apache.cxf.xjc-utils - cxf-xjc-runtime - 3.3.0 - - - - org.apache.maven - maven-model-builder - 3.6.1 - - - - - com.sun.activation - javax.activation - ${javax.activation.version} - - - - javax.xml.bind - jaxb-api - ${jaxb.api.version} - - - - com.sun.xml.bind - jaxb-core - 2.3.0.1 - - - - com.sun.xml.bind - jaxb-impl - ${jaxb.api.version} - - - - javax.annotation - javax.annotation-api - 1.3.1 - - - javax.xml.ws - jaxws-api - 2.3.0 - - - javax.activation - activation - 1.1.1 - - - - - - - - \ No newline at end of file diff --git a/onvif-ws-client/build.gradle b/onvif-ws-client/build.gradle index 0a47352..c269e2e 100644 --- a/onvif-ws-client/build.gradle +++ b/onvif-ws-client/build.gradle @@ -11,6 +11,12 @@ plugins { //sourceCompatibility = "1.8" //targetCompatibility = "1.8" +configurations.all { + resolutionStrategy { + force group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' + } +} + dependencies { api libs.org.apache.cxf.cxf.rt.frontend.jaxws api libs.org.apache.cxf.cxf.rt.transports.http.jetty @@ -31,6 +37,7 @@ dependencies { implementation group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: '3.0.0' implementation group: 'jakarta.xml.soap', name: 'jakarta.xml.soap-api', version: '3.0.0' implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.0' + implementation group: 'com.sun.xml.messaging.saaj', name: 'saaj-impl', version: '3.0.4' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 3a526d6..0000000 --- a/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ - - 4.0.0 - org.onvif - onvif - 1.0-SNAPSHOT - pom - - - 21 - 3.3.2 - 3.0.0 - 1.2.0 - 2.3.1 - UTF-8 - - - - onvif-ws-client - onvif-java - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.13.0 - - - ${java.version} - - ${java.version} - ${java.version} - ${java.version} - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${checkstyle-maven-plugin.version} - - google_checks.xml - - - - - check - - - - - - - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${checkstyle-maven-plugin.version} - - google_checks.xml - - - - - - - - internal - file://${project.build.directory}/mvn-repo - - - -