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
-
-
-
-