diff --git a/build.gradle b/build.gradle index 6d7c91a..87dd6b5 100644 --- a/build.gradle +++ b/build.gradle @@ -5,16 +5,22 @@ apply plugin: "signing" repositories { mavenCentral() } - +/* java { toolchain { languageVersion = JavaLanguageVersion.of(8) } } +*/ -project.version "2.0.2-SNAPSHOT" +project.version "3.0.0-SNAPSHOT" group "net.brutex.xservices" +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +} + publishing { publications { maven(MavenPublication) { @@ -69,10 +75,20 @@ tasks.register('createDist', Zip) {Zip t -> } dependencies { - compileOnly "javax.servlet:javax.servlet-api:4.0.1" - compileOnly "javax.ws.rs:javax.ws.rs-api:2.1.1" + compileOnly "jakarta.servlet:jakarta.servlet-api:6.0.0" - implementation "org.apache.commons:commons-configuration2:2.9.0" + implementation "jakarta.ws.rs:jakarta.ws.rs-api:4.0.0" + //runtimeOnly "com.sun.ws.rs:" + + implementation "jakarta.xml.ws:jakarta.xml.ws-api:2.3.3" + //runtimeOnly "com.sun.xml.ws:jaxws-rt:2.3.3" + + implementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.2" + runtimeOnly "com.sun.xml.bind:jaxb-impl:4.0.2" + + implementation 'jakarta.jws:jakarta.jws-api:3.0.0' + + implementation 'org.apache.commons:commons-configuration2:2.10.1' implementation "org.apache.commons:commons-lang3:3.12.0" implementation "commons-net:commons-net:3.9.0" implementation "commons-beanutils:commons-beanutils:1.9.4" @@ -89,40 +105,35 @@ dependencies { implementation "org.apache.commons:commons-jcs-core:2.2.1" - implementation "org.quartz-scheduler:quartz:2.3.2" + implementation "org.quartz-scheduler:quartz:2.5.0-rc1" implementation "org.slf4j:slf4j-api:2.0.7" runtimeOnly "ch.qos.logback:logback-core:1.3.8" runtimeOnly "ch.qos.logback:logback-classic:1.3.8" //runtimeOnly "org.slf4j:slf4j-simple:2.0.7" - implementation "org.apache.ws.commons.axiom:axiom:1.2.22" - implementation "org.apache.ws.commons.axiom:axiom-impl:1.2.22" + implementation "org.apache.ws.commons.axiom:axiom:1.4.0" + implementation "org.apache.ws.commons.axiom:axiom-impl:1.4.0" - implementation "org.apache.shiro:shiro-core:1.12.0" - implementation "org.apache.shiro:shiro-root:1.12.0" - implementation "org.apache.shiro:shiro-web:1.12.0" + implementation 'org.apache.shiro:shiro-jakarta-ee:2.0.1' + implementation "org.apache.shiro:shiro-web:2.0.1:jakarta" - implementation "org.apache.cxf:cxf:3.4.10" - implementation "org.apache.cxf:cxf-rt-databinding-aegis:3.2.14" - - runtimeOnly "org.apache.cxf:cxf-rt-transports-http:3.2.14" - runtimeOnly "org.apache.cxf:cxf-rt-frontend-jaxrs:3.2.14" - runtimeOnly "org.apache.cxf:cxf-rt-frontend-jaxws:3.2.14" - runtimeOnly "org.apache.cxf:cxf-rt-security:3.2.14" + implementation "org.apache.cxf:cxf-rt-transports-http:4.0.4" + implementation "org.apache.cxf:cxf-rt-databinding-aegis:4.0.4" + runtimeOnly "org.apache.cxf:cxf-rt-transports-http:4.0.4" + runtimeOnly "org.apache.cxf:cxf-rt-frontend-jaxrs:4.0.4" + runtimeOnly "org.apache.cxf:cxf-rt-frontend-jaxws:4.0.4" + runtimeOnly "org.apache.cxf:cxf-rt-security:4.0.4" implementation "rhino:js:1.7R2" - implementation "org.springframework:spring-core:5.3.29" - implementation "org.springframework:spring-context:5.3.29" - implementation "org.springframework:spring-web:5.3.29" + implementation 'org.springframework:spring-core:6.1.10' + implementation "org.springframework:spring-context:6.1.10" + implementation "org.springframework:spring-web:6.1.10" implementation "com.h2database:h2:2.2.222" - implementation "com.sun.xml.bind:jaxb-impl:2.3.0.1" - implementation "com.sun.xml.bind:jaxb-core:2.3.0.1" - implementation fileTree(dir: "lib/", includes: ["*.jar"], excludes: ["serena.*.jar"]) compileOnly fileTree(dir: "lib/", includes: ["serena.*.jar"]) diff --git a/lib/DocBuilder-20131001.jar b/lib/DocBuilder-20131001.jar deleted file mode 100644 index e94f6a4..0000000 Binary files a/lib/DocBuilder-20131001.jar and /dev/null differ diff --git a/src/main/java/net/brutex/xservices/cmtypes/ItemType.java b/src/main/java/net/brutex/xservices/cmtypes/ItemType.java index 7d0f5d4..70df59a 100644 --- a/src/main/java/net/brutex/xservices/cmtypes/ItemType.java +++ b/src/main/java/net/brutex/xservices/cmtypes/ItemType.java @@ -16,9 +16,9 @@ package net.brutex.xservices.cmtypes; -import java.net.URL; -import javax.xml.bind.annotation.XmlType; +import java.net.URL; +import jakarta.xml.bind.annotation.XmlType; @XmlType(name="Item") public class ItemType { diff --git a/src/main/java/net/brutex/xservices/cmtypes/ItemTypeList.java b/src/main/java/net/brutex/xservices/cmtypes/ItemTypeList.java index 29e6a5d..a3a3970 100644 --- a/src/main/java/net/brutex/xservices/cmtypes/ItemTypeList.java +++ b/src/main/java/net/brutex/xservices/cmtypes/ItemTypeList.java @@ -20,8 +20,8 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement public class ItemTypeList implements Serializable { diff --git a/src/main/java/net/brutex/xservices/security/XServicesRealm.java b/src/main/java/net/brutex/xservices/security/XServicesRealm.java index 4a71582..06b85c4 100644 --- a/src/main/java/net/brutex/xservices/security/XServicesRealm.java +++ b/src/main/java/net/brutex/xservices/security/XServicesRealm.java @@ -20,8 +20,9 @@ package net.brutex.xservices.security; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.config.Ini; +import org.apache.shiro.lang.util.Nameable; import org.apache.shiro.realm.text.IniRealm; -import org.apache.shiro.util.Nameable; + import java.net.URI; import java.net.URISyntaxException; @@ -39,7 +40,7 @@ import java.net.URISyntaxException; * The Class XServicesRealm. */ @Slf4j -public class XServicesRealm extends IniRealm implements Nameable { +public class XServicesRealm extends IniRealm implements Nameable { /** The name. */ diff --git a/src/main/java/net/brutex/xservices/types/AttributeType.java b/src/main/java/net/brutex/xservices/types/AttributeType.java index c5ac273..eeac5e9 100644 --- a/src/main/java/net/brutex/xservices/types/AttributeType.java +++ b/src/main/java/net/brutex/xservices/types/AttributeType.java @@ -16,8 +16,8 @@ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/CompressionType.java b/src/main/java/net/brutex/xservices/types/CompressionType.java index abe99c8..a895753 100644 --- a/src/main/java/net/brutex/xservices/types/CompressionType.java +++ b/src/main/java/net/brutex/xservices/types/CompressionType.java @@ -16,7 +16,7 @@ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnum; /** * diff --git a/src/main/java/net/brutex/xservices/types/DateFormatType.java b/src/main/java/net/brutex/xservices/types/DateFormatType.java index ec0aa34..aa8ea86 100644 --- a/src/main/java/net/brutex/xservices/types/DateFormatType.java +++ b/src/main/java/net/brutex/xservices/types/DateFormatType.java @@ -21,9 +21,9 @@ import java.util.Date; import java.util.Locale; import java.util.TimeZone; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/DateInfoExtendedType.java b/src/main/java/net/brutex/xservices/types/DateInfoExtendedType.java index 344cfb9..7260b49 100644 --- a/src/main/java/net/brutex/xservices/types/DateInfoExtendedType.java +++ b/src/main/java/net/brutex/xservices/types/DateInfoExtendedType.java @@ -20,8 +20,8 @@ import java.text.SimpleDateFormat; import java.util.GregorianCalendar; import java.util.TimeZone; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/DateInfoType.java b/src/main/java/net/brutex/xservices/types/DateInfoType.java index d63f01e..6a485ec 100644 --- a/src/main/java/net/brutex/xservices/types/DateInfoType.java +++ b/src/main/java/net/brutex/xservices/types/DateInfoType.java @@ -20,8 +20,8 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/DateTimeUnits.java b/src/main/java/net/brutex/xservices/types/DateTimeUnits.java index c9dcb6c..e8ca74e 100644 --- a/src/main/java/net/brutex/xservices/types/DateTimeUnits.java +++ b/src/main/java/net/brutex/xservices/types/DateTimeUnits.java @@ -15,8 +15,8 @@ */ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; /** * Different pre-defined date formats. diff --git a/src/main/java/net/brutex/xservices/types/FileInfoType.java b/src/main/java/net/brutex/xservices/types/FileInfoType.java index 77de99b..00add1f 100644 --- a/src/main/java/net/brutex/xservices/types/FileInfoType.java +++ b/src/main/java/net/brutex/xservices/types/FileInfoType.java @@ -35,12 +35,12 @@ import java.nio.file.attribute.PosixFileAttributes; import java.nio.file.attribute.UserPrincipal; import java.util.GregorianCalendar; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorOrder; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorOrder; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlType; /** * @author Brian Rosenberger, bru(at)brutex.de * diff --git a/src/main/java/net/brutex/xservices/types/HostConnection.java b/src/main/java/net/brutex/xservices/types/HostConnection.java index bdf01f5..b01e01c 100644 --- a/src/main/java/net/brutex/xservices/types/HostConnection.java +++ b/src/main/java/net/brutex/xservices/types/HostConnection.java @@ -16,8 +16,8 @@ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; /** * diff --git a/src/main/java/net/brutex/xservices/types/HostinfoType.java b/src/main/java/net/brutex/xservices/types/HostinfoType.java index c102b39..8dbf235 100644 --- a/src/main/java/net/brutex/xservices/types/HostinfoType.java +++ b/src/main/java/net/brutex/xservices/types/HostinfoType.java @@ -23,7 +23,7 @@ import net.brutex.xservices.util.BrutexNamespaces; * Host information. * @author Brian Rosenberger, bru@brutex.de */ -@javax.xml.bind.annotation.XmlType(name=HostinfoType.XML_NAME, namespace=BrutexNamespaces.WS_XSERVICES) +@jakarta.xml.bind.annotation.XmlType(name=HostinfoType.XML_NAME, namespace=BrutexNamespaces.WS_XSERVICES) public class HostinfoType { public final static String XML_NAME="hostinfo"; diff --git a/src/main/java/net/brutex/xservices/types/MailMimeType.java b/src/main/java/net/brutex/xservices/types/MailMimeType.java index 4bb6be7..0083d1a 100644 --- a/src/main/java/net/brutex/xservices/types/MailMimeType.java +++ b/src/main/java/net/brutex/xservices/types/MailMimeType.java @@ -15,8 +15,8 @@ */ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; /** * MIME types for email messages. diff --git a/src/main/java/net/brutex/xservices/types/NamespaceListType.java b/src/main/java/net/brutex/xservices/types/NamespaceListType.java index d69e688..173981c 100644 --- a/src/main/java/net/brutex/xservices/types/NamespaceListType.java +++ b/src/main/java/net/brutex/xservices/types/NamespaceListType.java @@ -19,8 +19,8 @@ package net.brutex.xservices.types; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/types/NamespaceType.java b/src/main/java/net/brutex/xservices/types/NamespaceType.java index 496ceb0..c5f1765 100644 --- a/src/main/java/net/brutex/xservices/types/NamespaceType.java +++ b/src/main/java/net/brutex/xservices/types/NamespaceType.java @@ -18,8 +18,8 @@ package net.brutex.xservices.types; import java.net.URI; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/types/ReplacePattern.java b/src/main/java/net/brutex/xservices/types/ReplacePattern.java index 8ddbe03..0e465a6 100644 --- a/src/main/java/net/brutex/xservices/types/ReplacePattern.java +++ b/src/main/java/net/brutex/xservices/types/ReplacePattern.java @@ -18,8 +18,8 @@ package net.brutex.xservices.types; import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; /** * Generic key/ value pairs. diff --git a/src/main/java/net/brutex/xservices/types/ReturnCode.java b/src/main/java/net/brutex/xservices/types/ReturnCode.java index a9c6e8f..562de78 100644 --- a/src/main/java/net/brutex/xservices/types/ReturnCode.java +++ b/src/main/java/net/brutex/xservices/types/ReturnCode.java @@ -17,8 +17,8 @@ package net.brutex.xservices.types; import java.util.List; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.types.ant.AntProperty; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/RuntimeInfoType.java b/src/main/java/net/brutex/xservices/types/RuntimeInfoType.java index e1d3fba..af01212 100644 --- a/src/main/java/net/brutex/xservices/types/RuntimeInfoType.java +++ b/src/main/java/net/brutex/xservices/types/RuntimeInfoType.java @@ -16,7 +16,7 @@ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/types/ScheduledJob.java b/src/main/java/net/brutex/xservices/types/ScheduledJob.java index 7573965..92c8308 100644 --- a/src/main/java/net/brutex/xservices/types/ScheduledJob.java +++ b/src/main/java/net/brutex/xservices/types/ScheduledJob.java @@ -17,10 +17,10 @@ package net.brutex.xservices.types; import java.util.GregorianCalendar; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/StringMatchType.java b/src/main/java/net/brutex/xservices/types/StringMatchType.java index d372933..84583dc 100644 --- a/src/main/java/net/brutex/xservices/types/StringMatchType.java +++ b/src/main/java/net/brutex/xservices/types/StringMatchType.java @@ -19,7 +19,7 @@ package net.brutex.xservices.types; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlType; /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/types/StringReplaceType.java b/src/main/java/net/brutex/xservices/types/StringReplaceType.java index f8f7cb4..f4b9ccf 100644 --- a/src/main/java/net/brutex/xservices/types/StringReplaceType.java +++ b/src/main/java/net/brutex/xservices/types/StringReplaceType.java @@ -16,7 +16,7 @@ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlType; @XmlType public class StringReplaceType diff --git a/src/main/java/net/brutex/xservices/types/StringSplitType.java b/src/main/java/net/brutex/xservices/types/StringSplitType.java index e1c03f1..658e61b 100644 --- a/src/main/java/net/brutex/xservices/types/StringSplitType.java +++ b/src/main/java/net/brutex/xservices/types/StringSplitType.java @@ -19,7 +19,7 @@ package net.brutex.xservices.types; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlType; /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/types/TargetNodeType.java b/src/main/java/net/brutex/xservices/types/TargetNodeType.java index 624a69b..f133f43 100644 --- a/src/main/java/net/brutex/xservices/types/TargetNodeType.java +++ b/src/main/java/net/brutex/xservices/types/TargetNodeType.java @@ -16,8 +16,8 @@ package net.brutex.xservices.types; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/TimeZoneType.java b/src/main/java/net/brutex/xservices/types/TimeZoneType.java index adf52b2..4308aff 100644 --- a/src/main/java/net/brutex/xservices/types/TimeZoneType.java +++ b/src/main/java/net/brutex/xservices/types/TimeZoneType.java @@ -17,8 +17,8 @@ package net.brutex.xservices.types; import java.util.TimeZone; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/ALFEventResponseType.java b/src/main/java/net/brutex/xservices/types/alfevent/ALFEventResponseType.java index efe0094..1650bfd 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/ALFEventResponseType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/ALFEventResponseType.java @@ -3,10 +3,10 @@ package net.brutex.xservices.types.alfevent; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlType; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/ALFEventType.java b/src/main/java/net/brutex/xservices/types/alfevent/ALFEventType.java index f888840..16b8d49 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/ALFEventType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/ALFEventType.java @@ -3,12 +3,12 @@ package net.brutex.xservices.types.alfevent; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/ALFEventWithReplyResponseType.java b/src/main/java/net/brutex/xservices/types/alfevent/ALFEventWithReplyResponseType.java index 20b8b77..d9e328b 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/ALFEventWithReplyResponseType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/ALFEventWithReplyResponseType.java @@ -3,10 +3,10 @@ package net.brutex.xservices.types.alfevent; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlType; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/ALFSecurityType.java b/src/main/java/net/brutex/xservices/types/alfevent/ALFSecurityType.java index 7636b4a..a2c2fba 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/ALFSecurityType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/ALFSecurityType.java @@ -5,12 +5,12 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.namespace.QName; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/BaseExtensionType.java b/src/main/java/net/brutex/xservices/types/alfevent/BaseExtensionType.java index 696bc0f..b11d673 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/BaseExtensionType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/BaseExtensionType.java @@ -5,11 +5,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.namespace.QName; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/CredentialsType.java b/src/main/java/net/brutex/xservices/types/alfevent/CredentialsType.java index 3c8026a..ae5e063 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/CredentialsType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/CredentialsType.java @@ -5,12 +5,12 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.namespace.QName; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/CustomExtensionType.java b/src/main/java/net/brutex/xservices/types/alfevent/CustomExtensionType.java index 7956f87..d285f50 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/CustomExtensionType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/CustomExtensionType.java @@ -5,11 +5,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.namespace.QName; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/DetailExtensionType.java b/src/main/java/net/brutex/xservices/types/alfevent/DetailExtensionType.java index 451b327..c79bd0d 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/DetailExtensionType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/DetailExtensionType.java @@ -5,11 +5,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.namespace.QName; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/EmBaseType.java b/src/main/java/net/brutex/xservices/types/alfevent/EmBaseType.java index 1a32942..9abfc4f 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/EmBaseType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/EmBaseType.java @@ -3,12 +3,12 @@ package net.brutex.xservices.types.alfevent; import java.util.HashMap; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.datatype.XMLGregorianCalendar; import javax.xml.namespace.QName; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/EmExtensionType.java b/src/main/java/net/brutex/xservices/types/alfevent/EmExtensionType.java index d821630..f0235fb 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/EmExtensionType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/EmExtensionType.java @@ -5,11 +5,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.namespace.QName; import org.w3c.dom.Element; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/EventBaseType.java b/src/main/java/net/brutex/xservices/types/alfevent/EventBaseType.java index 8f77e4a..d3949f6 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/EventBaseType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/EventBaseType.java @@ -3,12 +3,12 @@ package net.brutex.xservices.types.alfevent; import java.util.HashMap; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.datatype.XMLGregorianCalendar; import javax.xml.namespace.QName; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/ObjectFactory.java b/src/main/java/net/brutex/xservices/types/alfevent/ObjectFactory.java index aa0330d..46426e3 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/ObjectFactory.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/ObjectFactory.java @@ -1,9 +1,9 @@ package net.brutex.xservices.types.alfevent; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.XmlElementDecl; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.annotation.XmlElementDecl; +import jakarta.xml.bind.annotation.XmlRegistry; import javax.xml.namespace.QName; diff --git a/src/main/java/net/brutex/xservices/types/alfevent/SourceType.java b/src/main/java/net/brutex/xservices/types/alfevent/SourceType.java index ddb23a9..906196d 100644 --- a/src/main/java/net/brutex/xservices/types/alfevent/SourceType.java +++ b/src/main/java/net/brutex/xservices/types/alfevent/SourceType.java @@ -1,11 +1,11 @@ package net.brutex.xservices.types.alfevent; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/src/main/java/net/brutex/xservices/types/ant/AntProperty.java b/src/main/java/net/brutex/xservices/types/ant/AntProperty.java index b93d6c2..64aa560 100644 --- a/src/main/java/net/brutex/xservices/types/ant/AntProperty.java +++ b/src/main/java/net/brutex/xservices/types/ant/AntProperty.java @@ -19,8 +19,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; /** * Generic key/ value pairs. diff --git a/src/main/java/net/brutex/xservices/types/ant/ArchiveResource.java b/src/main/java/net/brutex/xservices/types/ant/ArchiveResource.java index cdf0f1b..8f4fc6b 100644 --- a/src/main/java/net/brutex/xservices/types/ant/ArchiveResource.java +++ b/src/main/java/net/brutex/xservices/types/ant/ArchiveResource.java @@ -17,9 +17,9 @@ package net.brutex.xservices.types.ant; import java.io.File; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; import org.apache.tools.ant.Project; diff --git a/src/main/java/net/brutex/xservices/types/ant/AttachmentType.java b/src/main/java/net/brutex/xservices/types/ant/AttachmentType.java index d95f369..a70df87 100644 --- a/src/main/java/net/brutex/xservices/types/ant/AttachmentType.java +++ b/src/main/java/net/brutex/xservices/types/ant/AttachmentType.java @@ -19,8 +19,8 @@ package net.brutex.xservices.types.ant; import java.io.File; import java.io.IOException; -import javax.activation.DataHandler; -import javax.xml.bind.annotation.XmlMimeType; +import jakarta.activation.DataHandler; +import jakarta.xml.bind.annotation.XmlMimeType; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/types/ant/CollectionType.java b/src/main/java/net/brutex/xservices/types/ant/CollectionType.java index 943321c..2f73ff9 100644 --- a/src/main/java/net/brutex/xservices/types/ant/CollectionType.java +++ b/src/main/java/net/brutex/xservices/types/ant/CollectionType.java @@ -18,8 +18,8 @@ package net.brutex.xservices.types.ant; import java.util.UUID; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; /** * Defines a collection of storable objects. diff --git a/src/main/java/net/brutex/xservices/types/ant/ContainsSelectorType.java b/src/main/java/net/brutex/xservices/types/ant/ContainsSelectorType.java index 5522d06..2160bb9 100644 --- a/src/main/java/net/brutex/xservices/types/ant/ContainsSelectorType.java +++ b/src/main/java/net/brutex/xservices/types/ant/ContainsSelectorType.java @@ -16,8 +16,8 @@ package net.brutex.xservices.types.ant; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import org.apache.tools.ant.types.selectors.ContainsSelector; import org.apache.tools.ant.types.selectors.FileSelector; diff --git a/src/main/java/net/brutex/xservices/types/ant/DateInfoType.java b/src/main/java/net/brutex/xservices/types/ant/DateInfoType.java index aa46470..c9fa1f4 100644 --- a/src/main/java/net/brutex/xservices/types/ant/DateInfoType.java +++ b/src/main/java/net/brutex/xservices/types/ant/DateInfoType.java @@ -19,8 +19,8 @@ package net.brutex.xservices.types.ant; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.types.DateFormatType; /** diff --git a/src/main/java/net/brutex/xservices/types/ant/FileResource.java b/src/main/java/net/brutex/xservices/types/ant/FileResource.java index f3f191e..fbd3abc 100644 --- a/src/main/java/net/brutex/xservices/types/ant/FileResource.java +++ b/src/main/java/net/brutex/xservices/types/ant/FileResource.java @@ -17,9 +17,9 @@ package net.brutex.xservices.types.ant; import java.io.File; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlType; import net.brutex.xservices.util.BrutexNamespaces; import org.apache.tools.ant.Project; diff --git a/src/main/java/net/brutex/xservices/types/ant/FileSetResource.java b/src/main/java/net/brutex/xservices/types/ant/FileSetResource.java index 9a74adf..3999cf6 100644 --- a/src/main/java/net/brutex/xservices/types/ant/FileSetResource.java +++ b/src/main/java/net/brutex/xservices/types/ant/FileSetResource.java @@ -16,9 +16,9 @@ package net.brutex.xservices.types.ant; import java.io.File; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlType; import org.apache.tools.ant.Project; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.types.Resource; diff --git a/src/main/java/net/brutex/xservices/types/ant/PatternElement.java b/src/main/java/net/brutex/xservices/types/ant/PatternElement.java index 8c355f8..0136551 100644 --- a/src/main/java/net/brutex/xservices/types/ant/PatternElement.java +++ b/src/main/java/net/brutex/xservices/types/ant/PatternElement.java @@ -16,8 +16,8 @@ package net.brutex.xservices.types.ant; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.XmlValue; +import jakarta.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlValue; /** * diff --git a/src/main/java/net/brutex/xservices/types/ant/PatternSetType.java b/src/main/java/net/brutex/xservices/types/ant/PatternSetType.java index 1aa9ac1..936c861 100644 --- a/src/main/java/net/brutex/xservices/types/ant/PatternSetType.java +++ b/src/main/java/net/brutex/xservices/types/ant/PatternSetType.java @@ -16,7 +16,7 @@ package net.brutex.xservices.types.ant; import java.util.List; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; /** * diff --git a/src/main/java/net/brutex/xservices/types/ant/SelectorType.java b/src/main/java/net/brutex/xservices/types/ant/SelectorType.java index 4e84ea0..9f71af4 100644 --- a/src/main/java/net/brutex/xservices/types/ant/SelectorType.java +++ b/src/main/java/net/brutex/xservices/types/ant/SelectorType.java @@ -17,7 +17,7 @@ package net.brutex.xservices.types.ant; import java.util.List; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; import org.apache.tools.ant.types.selectors.FileSelector; /** diff --git a/src/main/java/net/brutex/xservices/util/EventmanagerConfiguration.java b/src/main/java/net/brutex/xservices/util/EventmanagerConfiguration.java index 512dc50..74c925a 100644 --- a/src/main/java/net/brutex/xservices/util/EventmanagerConfiguration.java +++ b/src/main/java/net/brutex/xservices/util/EventmanagerConfiguration.java @@ -12,7 +12,7 @@ import org.apache.commons.configuration2.event.ConfigurationEvent; import org.apache.commons.configuration2.event.EventListener; import org.apache.commons.configuration2.ex.ConfigurationException; -import javax.servlet.ServletContext; +import jakarta.servlet.ServletContext; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; @@ -48,6 +48,7 @@ public class EventmanagerConfiguration { private int cleaner_interval; private List alf_filter = new ArrayList<>(); private int init_delay; + private long logMaxAge; public synchronized EventmanagerConfiguration refreshConfig() { @@ -66,6 +67,7 @@ public class EventmanagerConfiguration { this.jdbc_filedb = config.getString("fdb", "jdbc:h2:mem:lockdb;DB_CLOSE_DELAY=-1;"); this.isEmitterActive = config.getBoolean("emitter_active", true); this.cleaner_interval = config.getInt("cleaner_interval", 5); + this.logMaxAge = config.getLong("logMaxAge", 72); List lst = config.getList(String.class,"alf_filter", new ArrayList()); for ( String c :lst ) { diff --git a/src/main/java/net/brutex/xservices/util/LockCleanerJob.java b/src/main/java/net/brutex/xservices/util/LockCleanerJob.java index cd1df01..e7e543f 100644 --- a/src/main/java/net/brutex/xservices/util/LockCleanerJob.java +++ b/src/main/java/net/brutex/xservices/util/LockCleanerJob.java @@ -3,6 +3,8 @@ package net.brutex.xservices.util; import java.sql.*; import java.time.Instant; import java.util.concurrent.atomic.AtomicBoolean; + +import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.h2.jdbcx.JdbcConnectionPool; import org.quartz.*; @@ -18,6 +20,7 @@ public class LockCleanerJob implements Job, InterruptableJob { log.debug("LockCleaner is executing now."); final Instant d = Instant.now(); final long ts = d.toEpochMilli(); + @NonNull final JdbcConnectionPool mpool = (JdbcConnectionPool) context.getMergedJobDataMap().get("mdbConnection"); final String deleteMemTable = "DELETE FROM brutex.tbl_lock where btx_validity < " + (ts-5000); diff --git a/src/main/java/net/brutex/xservices/util/MiscServiceServletContextListener.java b/src/main/java/net/brutex/xservices/util/MiscServiceServletContextListener.java index aa53901..fe2f31b 100644 --- a/src/main/java/net/brutex/xservices/util/MiscServiceServletContextListener.java +++ b/src/main/java/net/brutex/xservices/util/MiscServiceServletContextListener.java @@ -6,10 +6,10 @@ import org.h2.jdbcx.JdbcConnectionPool; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; -import javax.servlet.annotation.WebListener; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletContextEvent; +import jakarta.servlet.ServletContextListener; +import jakarta.servlet.annotation.WebListener; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; @@ -187,6 +187,7 @@ public class MiscServiceServletContextListener implements ServletContextListener } startLockCleaner((Scheduler) context.getAttribute("scheduler")); + startLogRetention((Scheduler) context.getAttribute("scheduler")); } private String getLinkSQL() { @@ -262,6 +263,32 @@ public class MiscServiceServletContextListener implements ServletContextListener } } + private void startLogRetention(Scheduler scheduler) { + try { + if (!scheduler.checkExists(JobKey.jobKey("Retention"))) { + JobDetail job2 = JobBuilder.newJob(RetentionJob.class).withIdentity("Retention").build(); + job2.getJobDataMap().put("fdbConnection", fdbpool); + SimpleTrigger t = + (SimpleTrigger) + newTrigger() + .withIdentity("Retention") + .withSchedule( + SimpleScheduleBuilder.simpleSchedule() + .withIntervalInMinutes(60) + .repeatForever()) + .startAt( + Date.from( + Instant.now() + .plus(60, ChronoUnit.MINUTES))) + .build(); + scheduler.scheduleJob(job2, t); + } + } catch (SchedulerException ex) { + log.error("Could not start Retention: {}", ex.getMessage()); + } + } + + private void readConfiguration(ServletContext ctx) { /* Configure ServletContext attributes using configuration object*/ EventmanagerConfiguration c = EventmanagerConfiguration.getInstance().refreshConfig(); diff --git a/src/main/java/net/brutex/xservices/util/RetentionJob.java b/src/main/java/net/brutex/xservices/util/RetentionJob.java new file mode 100644 index 0000000..b11fd01 --- /dev/null +++ b/src/main/java/net/brutex/xservices/util/RetentionJob.java @@ -0,0 +1,52 @@ +package net.brutex.xservices.util; + +import java.sql.*; +import java.time.Instant; +import java.util.concurrent.atomic.AtomicBoolean; +import lombok.extern.slf4j.Slf4j; +import org.h2.jdbcx.JdbcConnectionPool; +import org.quartz.*; + +@Slf4j +@DisallowConcurrentExecution +public class RetentionJob implements Job, InterruptableJob { + + private final AtomicBoolean isInterrupted = new AtomicBoolean(false); + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + log.debug("Retention job is executing now for alf event logs."); + final Instant d = Instant.now(); + final long ts = d.toEpochMilli(); + final JdbcConnectionPool fpool = (JdbcConnectionPool) context.getMergedJobDataMap().get("fdbConnection"); + final EventmanagerConfiguration conf = (EventmanagerConfiguration) context.getMergedJobDataMap().get(EventmanagerConfiguration.KEY); + final String deleteMemTable = "DELETE FROM brutex.tbl_events_all where btx_timestamp < " + (ts-(conf.getLogMaxAge()*60*60*1000)); + + try (Connection mcon = fpool.getConnection()) { + Statement stmt = mcon.createStatement(); + stmt.execute(deleteMemTable); + int count = stmt.getUpdateCount(); + log.debug("Retention job deleted '{}' stale locks.", count); + + } catch (SQLException e) { + log.error("Exception in SQL execution: {}", e.getMessage()); + throw new JobExecutionException(e); + } + } + + + /** + *

+ * Called by the {@link Scheduler} when a user + * interrupts the Job. + *

+ * + * @throws UnableToInterruptJobException if there is an exception while interrupting the job. + */ + @Override + public synchronized void interrupt() throws UnableToInterruptJobException { + isInterrupted.set(true); + log.warn("Retention job received an interrupt."); + Thread.currentThread().interrupt(); + } +} diff --git a/src/main/java/net/brutex/xservices/util/cache/CacheExecutorService.java b/src/main/java/net/brutex/xservices/util/cache/CacheExecutorService.java index 5bff845..6179f79 100644 --- a/src/main/java/net/brutex/xservices/util/cache/CacheExecutorService.java +++ b/src/main/java/net/brutex/xservices/util/cache/CacheExecutorService.java @@ -19,9 +19,9 @@ package net.brutex.xservices.util.cache; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletContextEvent; +import jakarta.servlet.ServletContextListener; /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/util/cache/CacheServlet.java b/src/main/java/net/brutex/xservices/util/cache/CacheServlet.java index 0123dbc..2e44536 100644 --- a/src/main/java/net/brutex/xservices/util/cache/CacheServlet.java +++ b/src/main/java/net/brutex/xservices/util/cache/CacheServlet.java @@ -21,8 +21,8 @@ import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.concurrent.ExecutorService; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; import lombok.extern.slf4j.Slf4j; import net.brutex.xservices.types.scm.ObjectFactory; diff --git a/src/main/java/net/brutex/xservices/util/cache/FindingsCacheServlet.java b/src/main/java/net/brutex/xservices/util/cache/FindingsCacheServlet.java index e32fe2e..d0b2f38 100644 --- a/src/main/java/net/brutex/xservices/util/cache/FindingsCacheServlet.java +++ b/src/main/java/net/brutex/xservices/util/cache/FindingsCacheServlet.java @@ -26,10 +26,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.ws.rs.core.Response; import lombok.extern.slf4j.Slf4j; import net.brutex.xservices.types.scm.ItemListType; @@ -46,6 +42,9 @@ import org.apache.commons.configuration2.builder.fluent.Configurations; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.jcs.access.exception.CacheException; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; + /** * @author Brian Rosenberger, bru(at)brutex.de diff --git a/src/main/java/net/brutex/xservices/ws/ArchiveService.java b/src/main/java/net/brutex/xservices/ws/ArchiveService.java index b49ddd5..2d3ec02 100644 --- a/src/main/java/net/brutex/xservices/ws/ArchiveService.java +++ b/src/main/java/net/brutex/xservices/ws/ArchiveService.java @@ -15,9 +15,9 @@ g * Copyright 2010 Brian Rosenberger (Brutex Network) */ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; import net.brutex.xservices.types.CompressionType; import net.brutex.xservices.types.ReturnCode; diff --git a/src/main/java/net/brutex/xservices/ws/DateService.java b/src/main/java/net/brutex/xservices/ws/DateService.java index 01e939c..53aa6d2 100644 --- a/src/main/java/net/brutex/xservices/ws/DateService.java +++ b/src/main/java/net/brutex/xservices/ws/DateService.java @@ -21,11 +21,10 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.List; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.datatype.XMLGregorianCalendar; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import net.brutex.xservices.types.DateFormatType; import net.brutex.xservices.types.DateInfoExtendedType; diff --git a/src/main/java/net/brutex/xservices/ws/ExecuteService.java b/src/main/java/net/brutex/xservices/ws/ExecuteService.java index 644a77c..5c267cf 100644 --- a/src/main/java/net/brutex/xservices/ws/ExecuteService.java +++ b/src/main/java/net/brutex/xservices/ws/ExecuteService.java @@ -16,10 +16,10 @@ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import net.brutex.xservices.types.HostConnection; import net.brutex.xservices.types.ReturnCode; diff --git a/src/main/java/net/brutex/xservices/ws/FileService.java b/src/main/java/net/brutex/xservices/ws/FileService.java index 44c4d64..6e8524c 100644 --- a/src/main/java/net/brutex/xservices/ws/FileService.java +++ b/src/main/java/net/brutex/xservices/ws/FileService.java @@ -18,10 +18,10 @@ package net.brutex.xservices.ws; import java.util.List; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import org.apache.cxf.annotations.WSDLDocumentation; import org.apache.cxf.annotations.WSDLDocumentationCollection; diff --git a/src/main/java/net/brutex/xservices/ws/JobService.java b/src/main/java/net/brutex/xservices/ws/JobService.java index 11898fe..5f6664b 100644 --- a/src/main/java/net/brutex/xservices/ws/JobService.java +++ b/src/main/java/net/brutex/xservices/ws/JobService.java @@ -18,10 +18,10 @@ package net.brutex.xservices.ws; import java.util.List; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import net.brutex.xservices.types.ScheduledJob; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/ws/MailService.java b/src/main/java/net/brutex/xservices/ws/MailService.java index e43d83e..ad61dcf 100644 --- a/src/main/java/net/brutex/xservices/ws/MailService.java +++ b/src/main/java/net/brutex/xservices/ws/MailService.java @@ -15,10 +15,10 @@ */ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import net.brutex.xservices.types.HostConnection; import net.brutex.xservices.types.MailMimeType; diff --git a/src/main/java/net/brutex/xservices/ws/MiscService.java b/src/main/java/net/brutex/xservices/ws/MiscService.java index 9b8c1be..d8dc521 100644 --- a/src/main/java/net/brutex/xservices/ws/MiscService.java +++ b/src/main/java/net/brutex/xservices/ws/MiscService.java @@ -15,10 +15,10 @@ */ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.jws.soap.SOAPBinding; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.jws.soap.SOAPBinding; import net.brutex.xservices.types.HostConnection; import net.brutex.xservices.types.HostinfoType; diff --git a/src/main/java/net/brutex/xservices/ws/OpenAirProxyService.java b/src/main/java/net/brutex/xservices/ws/OpenAirProxyService.java deleted file mode 100644 index 65a4658..0000000 --- a/src/main/java/net/brutex/xservices/ws/OpenAirProxyService.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright 2017 Brian Rosenberger (Brutex Network) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.brutex.xservices.ws; - -import java.util.GregorianCalendar; -import java.util.List; - -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.jws.soap.SOAPBinding; -import javax.xml.bind.annotation.XmlElement; - -import org.apache.cxf.annotations.WSDLDocumentation; - -import net.brutex.mgmt.api.xml.AnyEntity; -import net.brutex.mgmt.api.xml.Customer; -import net.brutex.mgmt.api.xml.Project; -import net.brutex.mgmt.api.xml.TimesheetEntry; -import net.brutex.mgmt.api.xml.TimesheetFilter; -import net.brutex.mgmt.api.xml.User; -import net.brutex.xservices.types.ant.AttachmentType; -import net.brutex.xservices.util.BrutexNamespaces; - - - -/** - * OpenAir proxy services - * @author Brian Rosenberger - * @since 20160531 - * - */ -@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES) -public interface OpenAirProxyService { - - public static final String SERVICE_NAME = "OpenAirProxyService"; - final String OPERATION_GETTIMEENTRIES = "getTimeentries"; - final String OPERATION_GETEXCELTIMESHEET = "getExcelTimesheet"; - final String OPERATION_GETEXCELTIMESHEET2 = "getExcelTimesheet2"; - final String OPERATION_GETPROJECTBYEXTERNALID = "getProjectsByExternalId"; - final String OPERATION_GETPROJECTBYOPPID = "getProjectsByOppId"; - final String OPERATION_GETCUSTOMERBYID = "getCustomerById"; - final String OPERATION_GETUSERBYID = "getUserById"; - final String OPERATION_GETUSERBYUSERNAME = "getUserByUsername"; - final String OPERATION_GETANYOBJECT = "getAnyObject"; - final String OPERATION_GETUPDATEDCOMPANIES = "getUpdatedCustomer"; - final String OPERATION_GETUPDATEDPROJECTS = "getUpdatedProject"; - - - final String PARAM_PROJECTID = "oa_projectid"; - final String PARAM_CUSTOMERID = "oa_customerid"; - final String PARAM_USERID = "oa_userid"; - final String PARAM_USERNAME = "oa_username"; - final String PARAM_TEMPLATE ="template"; - final String PARAM_STARTDATE = "startdate"; - final String PARAM_ENDDATE = "enddate"; - final String PARAM_ENTRYLIST = "timeentries"; - final String PARAM_EXTERNALID = "externalid"; - final String PARAM_OPPID = "oppid"; - final String PARAM_INCLUDENONBILLABLE = "includeNonBillable"; - final String PARAM_OBJECTTYPE = "objecttype"; - final String PARAM_QUERIES = "queries"; - final String PARAM_DATE = "datetime"; - final String PARAM_OFFSET = "offset_minutes"; - final String PARAM_TIMESHEETSTATUS = "timesheetstatus"; - - /** - * Get a list of time entries. - * - * @return List of time entries - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETTIMEENTRIES) - @WSDLDocumentation(value="Get list of time entries") - public abstract List getTimeEntryList( - @WebParam(name=PARAM_PROJECTID) int oa_projectid, - @WebParam(name=PARAM_CUSTOMERID) int oa_customerid, - @WebParam(name=PARAM_USERID) int oa_userid, - @WebParam(name=PARAM_STARTDATE) GregorianCalendar startdate, - @WebParam(name=PARAM_ENDDATE) GregorianCalendar enddate, - @WebParam(name=PARAM_INCLUDENONBILLABLE) boolean includeNonBillable, - @WebParam(name=PARAM_TIMESHEETSTATUS) java.util.List filter) - throws XServicesFault; - - - - /** - * Get an excel time sheet file. - * - * @return List of time entries - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETEXCELTIMESHEET) - @WSDLDocumentation(value="Get an excel time sheet file.") - public abstract AttachmentType getExcelTimesheet( - @WebParam(name=PARAM_PROJECTID) int oa_projectid, - @WebParam(name=PARAM_CUSTOMERID) int oa_customerid, - @WebParam(name=PARAM_USERID) int oa_userid, - @WebParam(name=PARAM_STARTDATE) GregorianCalendar startdate, - @WebParam(name=PARAM_ENDDATE) GregorianCalendar enddate, - @WebParam(name=PARAM_INCLUDENONBILLABLE) boolean includeNonBillable, - @WebParam(name=PARAM_TIMESHEETSTATUS) java.util.List filter, - @WebParam(name=PARAM_TEMPLATE) AttachmentType templatefile) throws XServicesFault; - - /** - * Get an excel time sheet file. - * - * @return List of time entries - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETEXCELTIMESHEET2) - @WSDLDocumentation(value="Get an excel time sheet file.") - public abstract AttachmentType getExcelTimesheet2( - @WebParam(name=PARAM_ENTRYLIST) List entries, - @WebParam(name=PARAM_INCLUDENONBILLABLE) boolean includeNonBillable, - @WebParam(name=PARAM_TEMPLATE) AttachmentType templatefile) throws XServicesFault; - - - /** - * Get a project from External Id - * - * @return List of projects with this ExternalId - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETPROJECTBYEXTERNALID) - @WSDLDocumentation(value="Get a project from External Id") - public abstract List getProjectsByExternalId( - @WebParam(name=PARAM_EXTERNALID) String externalid) throws XServicesFault; - - /** - * Get a project from Opportunity - * - * @return List of projects with this Opportunity - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETPROJECTBYOPPID) - @WSDLDocumentation(value="Get a project from Opportunity Id") - public abstract List getProjectsByOppId( - @WebParam(name=PARAM_OPPID) String oppid) throws XServicesFault; - - /** - * Get a customer by its ID - * - * @return Customer object - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETCUSTOMERBYID) - @WSDLDocumentation(value="Get a customer by its Id") - public abstract Customer getCustomerById( - @WebParam(name=PARAM_CUSTOMERID) int customerid) throws XServicesFault; - - /** - * Get a user record by its ID - * - * @return user object - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETUSERBYID) - @WSDLDocumentation(value="Get a user by its Id") - public abstract User getUserById( - @WebParam(name=PARAM_USERID) int userid) throws XServicesFault; - - - /** - * Get a user record by its username - * - * @return user object - * @throws XServicesFault - */ - @WebMethod(operationName=OPERATION_GETUSERBYUSERNAME) - @WSDLDocumentation(value="Get a user by its username") - public abstract User getUserByUsername( - @WebParam(name=PARAM_USERNAME) String username) throws XServicesFault; - - @WebMethod(operationName=OPERATION_GETANYOBJECT) - @WSDLDocumentation(value="Get any Object by Query") - public abstract List getAnyObject( - @WebParam(name=PARAM_OBJECTTYPE) @XmlElement(required=true) String objecttype, - @WebParam(name=PARAM_QUERIES) List queries) throws XServicesFault; - - - @WebMethod(operationName=OPERATION_GETUPDATEDCOMPANIES) - @WSDLDocumentation(value="Get updated customers") - public abstract List getUpdatedCustomer( - @WebParam(name=PARAM_DATE) @XmlElement(required=true) GregorianCalendar date, - @WebParam(name=PARAM_OFFSET) @XmlElement(required=true) int offset) - throws XServicesFault; - - @WebMethod(operationName=OPERATION_GETUPDATEDPROJECTS) - @WSDLDocumentation(value="Get updated projects") - - public abstract List getUpdatedProjects( - @WebParam(name=PARAM_DATE) @XmlElement(required=true) GregorianCalendar date, - @WebParam(name=PARAM_OFFSET) @XmlElement(required=true) int offset) - throws XServicesFault; - - - public class QueryParameter { - @XmlElement(required=true) - public String field; - @XmlElement(required=true) - public String value; - } -} diff --git a/src/main/java/net/brutex/xservices/ws/StorageService.java b/src/main/java/net/brutex/xservices/ws/StorageService.java index 28fe29b..7dfdc92 100644 --- a/src/main/java/net/brutex/xservices/ws/StorageService.java +++ b/src/main/java/net/brutex/xservices/ws/StorageService.java @@ -16,9 +16,9 @@ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; import net.brutex.xservices.types.TargetNodeType; import net.brutex.xservices.types.ant.AttachmentType; import net.brutex.xservices.types.ant.CollectionType; diff --git a/src/main/java/net/brutex/xservices/ws/StringService.java b/src/main/java/net/brutex/xservices/ws/StringService.java index 7e4fafe..c0c418c 100644 --- a/src/main/java/net/brutex/xservices/ws/StringService.java +++ b/src/main/java/net/brutex/xservices/ws/StringService.java @@ -16,10 +16,10 @@ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import net.brutex.xservices.types.StringMatchType; import net.brutex.xservices.types.StringReplaceType; diff --git a/src/main/java/net/brutex/xservices/ws/XServicesFault.java b/src/main/java/net/brutex/xservices/ws/XServicesFault.java index 5343023..c246b42 100644 --- a/src/main/java/net/brutex/xservices/ws/XServicesFault.java +++ b/src/main/java/net/brutex/xservices/ws/XServicesFault.java @@ -17,13 +17,13 @@ package net.brutex.xservices.ws; import java.util.GregorianCalendar; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlType; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; -import javax.xml.ws.WebFault; +import jakarta.xml.ws.WebFault; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/ws/XmlService.java b/src/main/java/net/brutex/xservices/ws/XmlService.java index cc67f2f..e010ab3 100644 --- a/src/main/java/net/brutex/xservices/ws/XmlService.java +++ b/src/main/java/net/brutex/xservices/ws/XmlService.java @@ -16,10 +16,10 @@ package net.brutex.xservices.ws; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; +import jakarta.xml.bind.annotation.XmlElement; import net.brutex.xservices.types.AttributeType; import net.brutex.xservices.types.NamespaceListType; diff --git a/src/main/java/net/brutex/xservices/ws/impl/ArchiveServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/ArchiveServiceImpl.java index 4b8f64c..d076d40 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/ArchiveServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/ArchiveServiceImpl.java @@ -16,9 +16,9 @@ package net.brutex.xservices.ws.impl; import java.io.File; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; import net.brutex.xservices.types.CompressionType; import net.brutex.xservices.types.ReturnCode; import net.brutex.xservices.types.ant.ArchiveResource; diff --git a/src/main/java/net/brutex/xservices/ws/impl/DateServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/DateServiceImpl.java index 62bff0f..959cb1d 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/DateServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/DateServiceImpl.java @@ -24,7 +24,7 @@ import java.util.GregorianCalendar; import java.util.List; import java.util.TimeZone; -import javax.jws.WebService; +import jakarta.jws.WebService; import net.brutex.xservices.types.DateFormatType; import net.brutex.xservices.types.DateInfoExtendedType; import net.brutex.xservices.types.DateInfoType; diff --git a/src/main/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java index 934499c..07e208c 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java @@ -17,9 +17,9 @@ package net.brutex.xservices.ws.impl; import java.io.File; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; import net.brutex.xservices.types.HostConnection; import net.brutex.xservices.types.ReturnCode; import net.brutex.xservices.util.BrutexNamespaces; diff --git a/src/main/java/net/brutex/xservices/ws/impl/FileServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/FileServiceImpl.java index 5945eb7..a81c2e4 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/FileServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/FileServiceImpl.java @@ -22,10 +22,10 @@ import java.io.IOException; import java.io.InputStream; import java.util.List; -import javax.activation.DataHandler; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.activation.DataHandler; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; import net.brutex.xservices.types.ReplacePattern; import net.brutex.xservices.types.ReturnCode; diff --git a/src/main/java/net/brutex/xservices/ws/impl/JobServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/JobServiceImpl.java index 4943558..35236f6 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/JobServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/JobServiceImpl.java @@ -24,7 +24,7 @@ import java.util.Set; import java.util.TimeZone; import java.util.UUID; -import javax.jws.WebService; +import jakarta.jws.WebService; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; diff --git a/src/main/java/net/brutex/xservices/ws/impl/MailServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/MailServiceImpl.java index f374aa9..d598b6f 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/MailServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/MailServiceImpl.java @@ -16,7 +16,7 @@ package net.brutex.xservices.ws.impl; -import javax.jws.WebService; +import jakarta.jws.WebService; import net.brutex.xservices.types.HostConnection; import net.brutex.xservices.types.MailMimeType; diff --git a/src/main/java/net/brutex/xservices/ws/impl/MiscServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/MiscServiceImpl.java index 0ae08e5..0115f88 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/MiscServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/MiscServiceImpl.java @@ -18,7 +18,6 @@ package net.brutex.xservices.ws.impl; import static org.quartz.TriggerBuilder.newTrigger; -import java.io.StringReader; import java.io.StringWriter; import java.math.BigInteger; import java.sql.*; @@ -26,15 +25,15 @@ import java.time.Instant; import java.util.*; import java.util.Date; import java.util.concurrent.atomic.AtomicLong; -import javax.annotation.Resource; -import javax.jws.WebService; -import javax.servlet.ServletContext; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.ws.WebServiceContext; -import javax.xml.ws.handler.MessageContext; +import jakarta.annotation.Resource; +import jakarta.jws.WebService; +import jakarta.servlet.ServletContext; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.ws.WebServiceContext; +import jakarta.xml.ws.handler.MessageContext; import lombok.extern.slf4j.Slf4j; import net.brutex.xservices.types.*; import net.brutex.xservices.types.alfevent.ALFEventResponseType; diff --git a/src/main/java/net/brutex/xservices/ws/impl/OpenAirProxyServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/OpenAirProxyServiceImpl.java deleted file mode 100644 index b58ab13..0000000 --- a/src/main/java/net/brutex/xservices/ws/impl/OpenAirProxyServiceImpl.java +++ /dev/null @@ -1,492 +0,0 @@ -/* - * Copyright 2017 Brian Rosenberger (Brutex Network) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.brutex.xservices.ws.impl; - -import java.io.BufferedInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.GregorianCalendar; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.activation.DataHandler; -import javax.jws.WebParam; -import javax.jws.WebService; - -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.configuration2.ex.ConfigurationException; -import org.apache.commons.configuration2.PropertiesConfiguration; -import org.apache.commons.jcs.JCS; -import org.apache.commons.jcs.access.exception.CacheException; - - -import net.brutex.DocBuilder.DocBuilder; -import net.brutex.mgmt.api.generator.JITCompiler; -import net.brutex.mgmt.api.xml.AnyEntity; -import net.brutex.mgmt.api.xml.Customer; -import net.brutex.mgmt.api.xml.DateFilter; -import net.brutex.mgmt.api.xml.Project; -import net.brutex.mgmt.api.xml.Query; -import net.brutex.mgmt.api.xml.Query.BOOL; -import net.brutex.mgmt.api.xml.QueryEntity; -import net.brutex.mgmt.api.xml.StringEntity; -import net.brutex.mgmt.api.xml.TimesheetEntry; -import net.brutex.mgmt.api.xml.TimesheetFilter; -import net.brutex.mgmt.api.xml.User; -import net.brutex.mgmt.openair.OpenAirRestConnection; -import net.brutex.xservices.types.ant.AttachmentType; -import net.brutex.xservices.util.BrutexNamespaces; -import net.brutex.xservices.ws.OpenAirProxyService; -import net.brutex.xservices.ws.XServicesFault; - -/** - * @author Brian Rosenberger - * - */ -@Slf4j -@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES, endpointInterface = "net.brutex.xservices.ws.OpenAirProxyService", serviceName = OpenAirProxyService.SERVICE_NAME) -public class OpenAirProxyServiceImpl implements OpenAirProxyService { - - - /* - * (non-Javadoc) - * - * @see - * net.brutex.xservices.ws.OpenAirProxyService#getTimeEntryList(java.lang. - * String) - */ - - @Override - public List getTimeEntryList(int oa_projectid, int oa_customerid, int oa_userid, - GregorianCalendar startdate, GregorianCalendar enddate, boolean includeNonBillable, List filter) throws XServicesFault { - return getTimeEntries(oa_projectid, oa_customerid, oa_userid, startdate, enddate, includeNonBillable, filter); - } - - - private List getTimeEntries(final int oa_projectid, final int oa_customerid, final int oa_userid, - final GregorianCalendar fromDate, final GregorianCalendar toDate, final boolean includeNonBillable, List filter) - throws XServicesFault { - - List resultlist = new ArrayList(); - - if( filter != null && filter.size()>0) { - for( TimesheetFilter.TimesheetFilterType f : filter) { - resultlist.addAll( - getTimeEntriesRAW(oa_projectid, oa_customerid, oa_userid, fromDate, toDate, includeNonBillable, f) - ); - } - } else { - resultlist = getTimeEntriesRAW(oa_projectid, oa_customerid, oa_userid, fromDate, toDate, includeNonBillable, null); - } - return resultlist; - } - - - - - private List getTimeEntriesRAW(final int oa_projectid, final int oa_customerid, final int oa_userid, - final GregorianCalendar fromDate, final GregorianCalendar toDate, final boolean includeNonBillable, TimesheetFilter.TimesheetFilterType filter) - throws XServicesFault { - - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - - Query query = new Query(TimesheetEntry.class); - - if (oa_projectid > 0) { - query.addQuery(new QueryEntity("projectid", new StringEntity(String.valueOf(oa_projectid))), BOOL.AND); - } - - if (oa_customerid > 0) { - query.addQuery(new QueryEntity("customerid", new StringEntity(String.valueOf(oa_customerid))), BOOL.AND); - } - - if (oa_userid > 0) { - query.addQuery(new QueryEntity("userid", new StringEntity(String.valueOf(oa_userid))), BOOL.AND); - } - - if (fromDate != null) { - //adjust - fromDate.add(GregorianCalendar.DAY_OF_MONTH, -1); - DateFilter date = new DateFilter("date"); - date.setStartdate(fromDate); - if (toDate != null) { - toDate.add(GregorianCalendar.DAY_OF_MONTH, 1); - date.setEnddate(toDate); - } - query.addFilter(date); - } - - if (filter != null) { - query.addFilter(new TimesheetFilter(filter)); - } - - - List timesheets = (List) con.getEntitiesByQuery(query); - if (!includeNonBillable) - timesheets = filterBillableOnly(timesheets); - return timesheets; - - /* - * Query q = new Query(Project.class); - * - * //QueryEntity qe = new QueryEntity("Portfolio__c", new - * StringEntity("Serena")); QueryEntity qe = new QueryEntity("id", new - * StringEntity("19738")); //DWP Bank QueryEntity qe2 = new - * QueryEntity("id", new StringEntity("19737")); //PNW //QueryEntity qe2 - * = new QueryEntity("customer_name", new StringEntity( - * "Gerencia Informatica Seguridad Social (GISS)")); - * - * q.addQuery(qe, Query.BOOL.OR); q.addQuery(qe2, Query.BOOL.OR); - * - * List list = (List) con.getEntitiesByQuery(q, true); - * - * /*for (Project p : list) { - * Logger.getLogger("TestMain").debug(p.getName()); - * System.out.println(p.toString()); } - */ - // User user = con.getUserByLogin("brosenberger"); - - // System.out.println(user.toString()); - } - - @Override - public AttachmentType getExcelTimesheet(int oa_projectid, int oa_customerid, int oa_userid, - GregorianCalendar startdate, GregorianCalendar enddate, boolean includeNonBillable, List filter, AttachmentType template) - throws XServicesFault { - - List list = getTimeEntries(oa_projectid, oa_customerid, oa_userid, startdate, enddate, - includeNonBillable, filter); - AttachmentType t = getExcelTimesheet2(list, includeNonBillable, template); - - /* - * Try to set a time sheet name: - * SignOff - - .xlxs - * - */ - String filename = "SignOff"; - if(startdate!=null) { - filename += "_"; - filename += startdate.toZonedDateTime() - .format( DateTimeFormatter.ofPattern( "uuuu-MM-dd" ) ); - } - if(enddate!=null) { - filename += "-"; - filename += enddate.toZonedDateTime() - .format( DateTimeFormatter.ofPattern( "uuuu-MM-dd" ) ); - } - if(oa_projectid > 0) { - //Project spezifiziert - filename += "_"; - if(list.size()>0) { - TimesheetEntry anyentry = list.get(0); - filename += anyentry.getProject().getName(); - } else { - filename +="Emtpy"; - } - } else { - //Mehrere Projekte, gibt es vielleicht nur eins? - int i = 0; - Set namen = new HashSet(); - for (TimesheetEntry entry : list) { - namen.add( entry.getProject().getId() ); - } - if(namen.size()>1) { - filename += "_Multiple_Projects"; - } else { - if(list.size()>0) { - TimesheetEntry anyentry = list.get(0); - filename += anyentry.getProject().getName(); - } else { - filename +="_Emtpy"; - } - } - } - //Username - if(oa_userid>0) { - filename += "_"; - if(list.size()>0) { - TimesheetEntry anyentry = list.get(0); - filename += anyentry.getUser().getName(); - } - } - - filename = filename.replace(" ","_"); - filename = filename.replaceAll("[^A-Za-z0-9_\\-]", ""); - filename += ".xlsx"; - t.setFilename(filename); - - return t; - } - - @Override - public AttachmentType getExcelTimesheet2(List entries, boolean includeNonBillable, - AttachmentType templatefile) throws XServicesFault { - DocBuilder builder = new DocBuilder(); - DataHandler dh; - if (templatefile != null) { - dh = builder.createTimesheet(entries, templatefile.getContent()); - } else { - dh = builder.createTimesheet(entries, null); - } - AttachmentType t = new AttachmentType(); - t.setContent(dh); - - t.setFilename("timesheet.xlsx"); - return t; - } - - @Override - public List getProjectsByExternalId(String externalid) throws XServicesFault { - - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - - Query query = new Query(Project.class); - - if (externalid.length() > 0) { - query.addQuery(new QueryEntity("externalid", new StringEntity(externalid)), BOOL.AND); - } - - List projects = (List) con.getEntitiesByQuery(query); - - return projects; - } - - /* - * (non-Javadoc) - * - * @see - * net.brutex.xservices.ws.OpenAirProxyService#getProjectsByOppId(java.lang. - * String) - */ - @Override - public List getProjectsByOppId(String oppid) throws XServicesFault { - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - - Query query = new Query(Project.class); - - if (oppid.length() > 0) { - query.addQuery(new QueryEntity("opportunity_num__c", new StringEntity(oppid)), BOOL.OR); - query.addQuery(new QueryEntity("SAP_Oracle_Number__c", new StringEntity(oppid)), BOOL.OR); - } - - List projects = (List) con.getEntitiesByQuery(query); - - return projects; - } - - @Override - public Customer getCustomerById(int customerid) throws XServicesFault { - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - - Query query = new Query(Customer.class); - - if (customerid > 0) { - query.addQuery(new QueryEntity("id", new StringEntity(String.valueOf(customerid))), BOOL.AND); - } - - List customer = (List) con.getEntitiesByQuery(query); - - if (customer.isEmpty()) { - return null; - } else { - return customer.get(0); - } - } - - - - /* (non-Javadoc) - * @see net.brutex.xservices.ws.OpenAirProxyService#getUpdatedCustomer(java.util.GregorianCalendar) - */ - @Override - public List getUpdatedCustomer(GregorianCalendar date, int offset) throws XServicesFault { - - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - - Query query = new Query(Customer.class); - //query.addQuery("Address_Country", new StringEntity(search), BOOL.AND); - query.addQuery("active", new StringEntity("1"), BOOL.AND); - - DateFilter datefilter = new DateFilter("updated"); - date.add(GregorianCalendar.MINUTE, -1*offset); - datefilter.setStartdate(date); - query.addFilter(datefilter); - - List customer = (List) con.getEntitiesByQuery(query); - - if (customer.isEmpty()) { - return null; - } else { - return customer; - } - } - - - @Override - public List getUpdatedProjects(GregorianCalendar date, int offset) throws XServicesFault { - - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - - Query query = new Query(Project.class); - //query.addQuery("Address_Country", new StringEntity(search), BOOL.AND); - query.addQuery("Stage", new StringEntity("3"), BOOL.AND); - - DateFilter datefilter = new DateFilter("updated"); - date.add(GregorianCalendar.MINUTE, -1*offset); - datefilter.setStartdate(date); - query.addFilter(datefilter); - - List project = (List) con.getEntitiesByQuery(query); - - if (project.isEmpty()) { - return null; - } else { - return project; - } - } - - @Override - public User getUserById(int userid) throws XServicesFault { - Query query = new Query(User.class); - if (userid > 0) { - query.addQuery(new QueryEntity("id", new StringEntity(String.valueOf(userid))), BOOL.AND); - } else { - return null; - } - return getUserByQuery(query); - } - - - @Override - public User getUserByUsername(String username) throws XServicesFault { - Query query = new Query(User.class); - query.addQuery(new QueryEntity("nickname", new StringEntity(username)), BOOL.AND); - return getUserByQuery(query); - } - - - @Override - public List getAnyObject(String objecttype, List queries) throws XServicesFault { - JITCompiler.load(); - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - Class clazz; - try { - Class.forName("net.brutex.mgmt.api.xml.EntityType"); - Class.forName("net.brutex.mgmt.api.xml.AbstractEntity"); - clazz = Class.forName("net.brutex.mgmt.api.xml."+objecttype); - } catch (ClassNotFoundException ex ) { - throw new XServicesFault(ex); - } - Query query = new Query(clazz); - - for(QueryParameter p : queries) { - query.addQuery(new QueryEntity(p.field, new StringEntity(p.value)), BOOL.AND); - } - - List anyentity = (List) con.getEntitiesByQuery(query); - - if (anyentity.isEmpty()) { - return null; - } else { - return anyentity; - } - } - - private User getUserByQuery(Query query) throws XServicesFault { - final OpenAirRestConnection con = getOpenAirConnection(); - if (con == null) { - throw new XServicesFault("Could not establish Open Air connection."); - } - User user = (User) con.getSingleEntityByQuery(query); - return user; - } - - - - List filterBillableOnly(List timesheets) { - List list = new ArrayList(); - for (TimesheetEntry entry : timesheets) { - if (entry.getProjecttask().isBillable()) { - list.add(entry); - } - } - return list; - } - - private OpenAirRestConnection getOpenAirConnection() { - - /* - * get details from configuration file - */ - final PropertiesConfiguration props; - try { - final String config = "../openair.properties"; - log.debug("Loading Open Air connection details from " + this.getClass().getClassLoader().getResource("/") - + config); - - final URL configloc = this.getClass().getClassLoader().getResource(config); - - props = new PropertiesConfiguration(); - props.read( new InputStreamReader( new BufferedInputStream( configloc.openStream() ))); - final String user = props.getString("user"); - final String password = props.getString("password"); - final String company = props.getString("company"); - final String apikey = props.getString("apikey", "_PUT_HERE_"); - final String namespace = props.getString("namespace"); - - final OpenAirRestConnection con; - - con = new OpenAirRestConnection(JCS.getInstance("OACache"), company, user, password); - return con; - } catch (CacheException | ConfigurationException | IOException e) { - log.error(e.getMessage()); - e.printStackTrace(); - } finally { - - } - return null; - } - - - - - -} diff --git a/src/main/java/net/brutex/xservices/ws/impl/StorageServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/StorageServiceImpl.java index a88ae37..78ece6c 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/StorageServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/StorageServiceImpl.java @@ -15,7 +15,7 @@ */ package net.brutex.xservices.ws.impl; -import javax.jws.WebService; +import jakarta.jws.WebService; import net.brutex.xservices.types.TargetNodeType; import net.brutex.xservices.types.ant.AttachmentType; diff --git a/src/main/java/net/brutex/xservices/ws/impl/StringServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/StringServiceImpl.java index 0a371e2..9284f4a 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/StringServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/StringServiceImpl.java @@ -22,7 +22,7 @@ import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.jws.WebService; +import jakarta.jws.WebService; import net.brutex.xservices.types.StringMatchType; import net.brutex.xservices.types.StringReplaceType; diff --git a/src/main/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java b/src/main/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java index 769e8a7..2ed09fd 100644 --- a/src/main/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java +++ b/src/main/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java @@ -26,7 +26,7 @@ import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; import java.util.Iterator; import java.util.List; -import javax.jws.WebService; +import jakarta.jws.WebService; import javax.xml.namespace.QName; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; diff --git a/src/main/java/net/brutex/xservices/ws/rs/CVSInfo.java b/src/main/java/net/brutex/xservices/ws/rs/CVSInfo.java index 801e4ab..289110d 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/CVSInfo.java +++ b/src/main/java/net/brutex/xservices/ws/rs/CVSInfo.java @@ -1,14 +1,10 @@ package net.brutex.xservices.ws.rs; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.Response; import java.io.File; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; @Path("/CVSService/") @Produces({"application/xml", "application/json"}) diff --git a/src/main/java/net/brutex/xservices/ws/rs/CVSInfoImpl.java b/src/main/java/net/brutex/xservices/ws/rs/CVSInfoImpl.java index 3f763fa..0201832 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/CVSInfoImpl.java +++ b/src/main/java/net/brutex/xservices/ws/rs/CVSInfoImpl.java @@ -4,13 +4,11 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileReader; import java.io.IOException; -import java.io.PrintStream; -import java.net.URI; -import java.util.List; import java.util.StringTokenizer; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.Response; + import lombok.extern.slf4j.Slf4j; import net.brutex.xservices.types.scm.AttributeType; @@ -24,7 +22,6 @@ import net.brutex.xservices.types.scm.TagListType; import net.brutex.xservices.types.scmfindings.FindingsListType; import net.brutex.xservices.util.BasicCVSListener; import net.brutex.xservices.util.CVSClient; -import net.brutex.xservices.util.CVSRoot; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.jcs.JCS; @@ -33,15 +30,12 @@ import org.apache.commons.jcs.access.exception.CacheException; import org.netbeans.lib.cvsclient.Client; import org.netbeans.lib.cvsclient.command.CommandAbortedException; import org.netbeans.lib.cvsclient.command.CommandException; -import org.netbeans.lib.cvsclient.command.FileInfoContainer; import org.netbeans.lib.cvsclient.command.PipedFileInformation; import org.netbeans.lib.cvsclient.command.checkout.CheckoutCommand; import org.netbeans.lib.cvsclient.command.checkout.ModuleListInformation; import org.netbeans.lib.cvsclient.command.log.LogInformation; -import org.netbeans.lib.cvsclient.command.log.LogInformation.Revision; import org.netbeans.lib.cvsclient.command.log.RlogCommand; import org.netbeans.lib.cvsclient.connection.AuthenticationException; -import org.netbeans.lib.cvsclient.event.EventManager; import org.netbeans.lib.cvsclient.event.FileInfoEvent; @Slf4j @@ -51,7 +45,7 @@ public class CVSInfoImpl implements CVSInfo { final ItemListType list = this.FACTORY.createItemListType(); public Response getRepositoryFiles(HttpHeaders h, File f, String modules, - boolean isRecursive, boolean showRevisions, boolean forceNoCache) { + boolean isRecursive, boolean showRevisions, boolean forceNoCache) { String cachekey = "getFiles" + f.toURI().toString(); log.debug("forceNoCache=" + forceNoCache); ItemListType cacheresult = (ItemListType) getCacheInstance().get( diff --git a/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfo.java b/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfo.java index 0fd6034..016225f 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfo.java +++ b/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfo.java @@ -18,15 +18,15 @@ package net.brutex.xservices.ws.rs; import java.io.File; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; import org.apache.commons.jcs.access.exception.CacheException; @@ -52,7 +52,7 @@ public abstract interface DIMCMInfo { * @param paramHttpHeaders the param http headers * @param uriInfo request url info * @param directory The directory to list. - * @param includeDirectories Whether or not to include directories in the listing. Default is true. + * @param recursive Whether or not to include directories in the listing. Default is true. * @param includeFiles Whether or not to include files in the listing. Default is true. * @param depth Include subdirectories down to a given depth. Default is 1. * @param search Additional "Glob search pattern" for the file/ directory name. I.e. '*.log' @@ -70,7 +70,7 @@ public abstract interface DIMCMInfo { @QueryParam("projSpec") String project, @QueryParam("directory") String directory, @QueryParam("recursive") @DefaultValue("false") boolean recursive, - @QueryParam("includeFiles") @DefaultValue("1") boolean includeFiles, + @QueryParam("includeFiles") @DefaultValue("true") boolean includeFiles, @QueryParam("depth") @DefaultValue("1") int depth, @QueryParam("search") String search, @QueryParam("itemsPerPage") @DefaultValue("50") int itemsPerPage, diff --git a/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfoImpl.java b/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfoImpl.java index 8afedd6..bf694e6 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfoImpl.java +++ b/src/main/java/net/brutex/xservices/ws/rs/DIMCMInfoImpl.java @@ -29,9 +29,9 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.configuration2.PropertiesConfiguration; diff --git a/src/main/java/net/brutex/xservices/ws/rs/FileInfo.java b/src/main/java/net/brutex/xservices/ws/rs/FileInfo.java index 1f76a0b..5328da4 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/FileInfo.java +++ b/src/main/java/net/brutex/xservices/ws/rs/FileInfo.java @@ -18,15 +18,15 @@ package net.brutex.xservices.ws.rs; import java.io.File; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; import net.brutex.xservices.ws.XServicesFault; @@ -65,13 +65,13 @@ public abstract interface FileInfo { @Context HttpHeaders paramHttpHeaders, @Context UriInfo uriInfo, @QueryParam("directory") String directory, - @QueryParam("includeDirectories") @DefaultValue("0") boolean includeDirectories, - @QueryParam("includeFiles") @DefaultValue("1") boolean includeFiles, + @QueryParam("includeDirectories") @DefaultValue("false") boolean includeDirectories, + @QueryParam("includeFiles") @DefaultValue("true") boolean includeFiles, @QueryParam("depth") @DefaultValue("1") int depth, @QueryParam("search") String search, @QueryParam("itemsPerPage") @DefaultValue("50") int itemsPerPage, @QueryParam("page") @DefaultValue("1") int page, - @QueryParam("usecache") @DefaultValue("1") boolean useCache); + @QueryParam("usecache") @DefaultValue("true") boolean useCache); @GET @Path("getFile/") diff --git a/src/main/java/net/brutex/xservices/ws/rs/FileInfoImpl.java b/src/main/java/net/brutex/xservices/ws/rs/FileInfoImpl.java index 684b783..176b6fe 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/FileInfoImpl.java +++ b/src/main/java/net/brutex/xservices/ws/rs/FileInfoImpl.java @@ -38,14 +38,14 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; -import javax.ws.rs.NotAuthorizedException; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.GenericEntity; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.StreamingOutput; -import javax.ws.rs.core.UriInfo; +import jakarta.ws.rs.NotAuthorizedException; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.GenericEntity; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.StreamingOutput; +import jakarta.ws.rs.core.UriInfo; import lombok.extern.slf4j.Slf4j; import net.brutex.xservices.security.DirectoryPermission; diff --git a/src/main/java/net/brutex/xservices/ws/rs/FileListType.java b/src/main/java/net/brutex/xservices/ws/rs/FileListType.java index 2eca8f8..c96a5d6 100644 --- a/src/main/java/net/brutex/xservices/ws/rs/FileListType.java +++ b/src/main/java/net/brutex/xservices/ws/rs/FileListType.java @@ -16,8 +16,8 @@ package net.brutex.xservices.ws.rs; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="FileList") public class FileListType diff --git a/src/main/java/net/brutex/xservices/ws/rs/OpenAirInfoService.java b/src/main/java/net/brutex/xservices/ws/rs/OpenAirInfoService.java deleted file mode 100644 index 22a2eaf..0000000 --- a/src/main/java/net/brutex/xservices/ws/rs/OpenAirInfoService.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013 Brian Rosenberger (Brutex Network) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.brutex.xservices.ws.rs; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; - - -/** - * The OpenAirInfoService Rest Service. - * - * @author Brian Rosenberger, bru(at)brutex.de - */ - -@Path("/OpenAirInfoService/") -@Produces({ "text/xml" }) -public abstract interface OpenAirInfoService { - - public final static String BASE_PATH = "/OpenAirInfoService/"; - public final static String SERVICE_NAME = "OpenAirInfoService"; - - - - @GET - @Path("getCompanies/") - //@Produces("application/octet-stream") - public abstract Response getCompanies( - @Context HttpHeaders paramHttpHeaders, - @QueryParam("search") String search); -} diff --git a/src/main/java/net/brutex/xservices/ws/rs/OpenAirInfoServiceImpl.java b/src/main/java/net/brutex/xservices/ws/rs/OpenAirInfoServiceImpl.java deleted file mode 100644 index db1ed59..0000000 --- a/src/main/java/net/brutex/xservices/ws/rs/OpenAirInfoServiceImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package net.brutex.xservices.ws.rs; - -import java.net.URL; -import java.util.GregorianCalendar; -import java.util.List; - -import javax.ws.rs.core.GenericEntity; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; - -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.configuration2.PropertiesConfiguration; -import org.apache.commons.configuration2.builder.fluent.Configurations; -import org.apache.commons.configuration2.ex.ConfigurationException; -import org.apache.commons.jcs.JCS; -import org.apache.commons.jcs.access.exception.CacheException; - -import net.brutex.mgmt.api.xml.Customer; -import net.brutex.mgmt.api.xml.DateFilter; -import net.brutex.mgmt.api.xml.Query; -import net.brutex.mgmt.api.xml.Query.BOOL; -import net.brutex.mgmt.api.xml.StringEntity; -import net.brutex.mgmt.openair.OpenAirRestConnection; - -@Slf4j -public class OpenAirInfoServiceImpl implements OpenAirInfoService { - - - @Override - public Response getCompanies(HttpHeaders paramHttpHeaders, String search) { - OpenAirRestConnection con = getOpenAirConnection(); - Query query = new Query(Customer.class); - - query.addQuery("Address_Country", new StringEntity(search), BOOL.AND); - query.addQuery("active", new StringEntity("1"), BOOL.AND); - DateFilter datefilter = new DateFilter("updated"); - GregorianCalendar date = new GregorianCalendar(); - - date.add(GregorianCalendar.MINUTE, -5); - datefilter.setStartdate(date); - - query.addFilter(datefilter); - //query.addQuery("CustomerAccountCode", new StringEntity(search), BOOL.OR); - List resultlist = (List) con.getEntitiesByQuery(query); - GenericEntity generic = new GenericEntity>(resultlist) {}; - Response response = Response.ok(generic).build(); - return response; - } - - - - private OpenAirRestConnection getOpenAirConnection() { - - /* - * get details from configuration file - */ - Configurations configs = new Configurations(); - final PropertiesConfiguration props; - try { - final String config = "../openair.properties"; - log.debug("Loading Open Air connection details from '{}'.", this.getClass().getClassLoader().getResource("/") - + config); - - final URL configloc = this.getClass().getClassLoader().getResource(config); - - props = configs.properties(configloc); - - final String user = props.getString("user"); - final String password = props.getString("password"); - final String company = props.getString("company"); - final String apikey = props.getString("apikey", "9x7G49ENkLCJ81i9XZJU"); - final String namespace = props.getString("namespace"); - - final OpenAirRestConnection con; - - con = new OpenAirRestConnection(JCS.getInstance("FileCache"), company, user, password); - return con; - } catch (CacheException | ConfigurationException e) { - log.error(e.getMessage()); - e.printStackTrace(); - } finally { - - } - return null; - } - -} diff --git a/src/main/resources/cache.ccf b/src/main/resources/cache.ccf index 0fb8764..9252830 100644 --- a/src/main/resources/cache.ccf +++ b/src/main/resources/cache.ccf @@ -7,7 +7,7 @@ jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs.engine.memory # AVAILABLE AUXILIARY CACHES jcs.auxiliary.DC=org.apache.commons.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory jcs.auxiliary.DC.attributes=org.apache.commons.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes -jcs.auxiliary.DC.attributes.DiskPath=${user.dir}/jcs_swap +jcs.auxiliary.DC.attributes.DiskPath=${user.dir}/.jcs_swap jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000000 jcs.auxiliary.DC.attributes.MaxKeySize=1000000 jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000 diff --git a/src/main/resources/simplelogger.properties b/src/main/resources/simplelogger.properties index a037279..47c1d84 100644 --- a/src/main/resources/simplelogger.properties +++ b/src/main/resources/simplelogger.properties @@ -9,7 +9,7 @@ org.slf4j.simpleLogger.defaultLogLevel=warn # Logging detail level for a SimpleLogger instance named "xxxxx". # Must be one of ("trace", "debug", "info", "warn", or "error"). # If not specified, the default logging detail level is used. -org.slf4j.simpleLogger.log.net.brutex.xservices=info +org.slf4j.simpleLogger.log.net.brutex.xservices=debug # Set to true if you want the current date and time to be included in output messages. # Default is false, and will output the number of milliseconds elapsed since startup. diff --git a/src/main/webapp/WEB-INF/applicationContext.xml b/src/main/webapp/WEB-INF/applicationContext.xml index 61b0bab..fbe3494 100644 --- a/src/main/webapp/WEB-INF/applicationContext.xml +++ b/src/main/webapp/WEB-INF/applicationContext.xml @@ -3,12 +3,13 @@ xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:jaxrs="http://cxf.apache.org/jaxrs" xsi:schemaLocation=" - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> - - + + + @@ -80,9 +81,6 @@ - - - diff --git a/src/main/webapp/WEB-INF/eventmanager.properties b/src/main/webapp/WEB-INF/eventmanager.properties index 3204121..5e2baa0 100644 --- a/src/main/webapp/WEB-INF/eventmanager.properties +++ b/src/main/webapp/WEB-INF/eventmanager.properties @@ -36,6 +36,11 @@ emitter_active = true # deactivates the cleaner. Value in minutes. cleaner_interval = 4 +# EventLogCleaner retention interval, max age of logs in the tbl_events_all table. The job runs once an hour. +# Value is in hours and default is 72. +# logMaxAge = 72 +logMaxAge = 72 + # ALFEventFilter classes, executed in order. This can be a comma separated list of classes # default: empty alf_filter = net.brutex.xservices.util.EventIdTruncateFilter \ No newline at end of file diff --git a/test/MiscService-soapui-project.xml b/test/MiscService-soapui-project.xml index f3856a8..2207659 100644 --- a/test/MiscService-soapui-project.xml +++ b/test/MiscService-soapui-project.xml @@ -1,8 +1,8 @@ -http://localhost:8080/XServices/MiscService?WSDL +http://localhost:8080/XServices/MiscService?WSDL - + @@ -15,7 +15,7 @@ - + @@ -36,10 +36,31 @@ + + + + + + + + + + + + + + + + + + + + + @@ -52,6 +73,7 @@ + @@ -64,16 +86,16 @@ - + - + - + @@ -85,16 +107,9 @@ - - - - - - + - - @@ -135,16 +150,6 @@ - - - - - - - - - - @@ -218,6 +223,7 @@ + @@ -235,6 +241,9 @@ + + + @@ -247,21 +256,18 @@ - - - + + + - - - @@ -277,17 +283,17 @@ - - - - - Get a lock. + + + + + Get XService information. @@ -324,18 +330,6 @@ - - - - - - - - - - - - @@ -348,6 +342,18 @@ + + + + + + + + + + + + @@ -400,49 +406,125 @@ - - ${=org.apache.commons.lang.RandomStringUtils.randomNumeric(12)} - - 12345-${=org.apache.commons.lang.RandomStringUtils.randomNumeric(1)} - + -]]>No Authorization<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService\r - \r - \r - \r - \r - \r - \r - ${=org.apache.commons.lang.RandomStringUtils.randomNumeric(12)}\r - - ${=java.time.Instant.now()}\r - sync\r - User\r - ABC${=org.apache.commons.lang.RandomStringUtils.randomNumeric(1)}\r - \r - IDM\r - 1.0\r - Default\r - - \r - \r - \r - \r - - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r -]]>No AuthorizationSEQUENTIAL<xml-fragment/>http://localhost:8080/XServices/MiscService?WSDL200MiscServiceSoapBindinggetHostinfo<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService +]]>No Authorization<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService + + + + + 15b5fafba04143fb82a2fbfab51541a0 + 2023-05-15T17:15:00Z + sync + OU + T945GyIUhU615E/eORsiFA== + + IDM + 1.0 + Default + + + + + idminterface + H?_{_8>8@wNWRx?ZaQ + + + + + + C=DE\O=SYSTEM\OU=IDM\OU=MasterData\OU=OrgUnit\CN=24054 + + + OU + 15b5fafba04143fb82a2fbfab51541a0 + true + C=DE\O=SYSTEM\OU=IDM\OU=MasterData\OU=OrgUnit\CN=24054 + \IDMTEST\DE\SYSTEM\IDM\MasterData\OrgUnit\24054 + 7173715 + + T945GyIUhU615E/eORsiFA== + + + CN + + + + true + 1668775101#1357 + string + 24054 + + + + + degOULevel + + + + 1668775101#1328 + int + 5 + + + + + degOUManager + + + + 1668775101#1344 + string + N0165 + + + + + degOUShort + + + + 1668775101#1333 + string + IDM NEU 31052023_1 + + + + + degStatus + + + + 1668775101#1334 + int + 1 + + + + + GUID + + + + 1668775101#1358 + octet + T945GyIUhU615E/eORsiFA== + + + + + T945GyIUhU615E/eORsiFA== + 15b5fafba04143fb82a2fbfab51541a0 + sync + \IDMTEST\DE\SYSTEM\IDM\MasterData\OrgUnit\24054 + + + + + + + +]]>No AuthorizationSEQUENTIAL<xml-fragment/>http://localhost:8080/XServices/MiscService?WSDL500No AuthorizationMiscServiceSoapBindinggetHostinfo<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService @@ -500,7 +582,7 @@ 0 -]]>120200Global HTTP SettingsMiscServiceSoapBindingsleep<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService +]]>120200BasicBasicGlobal HTTP SettingsMiscServiceSoapBindingsleep<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService @@ -518,48 +600,128 @@ \r \r \r - ${=org.apache.commons.lang.RandomStringUtils.randomNumeric(12)}\r + ${=org.apache.commons.lang.RandomStringUtils.randomNumeric(4)}\r \r - 12345-${=org.apache.commons.lang.RandomStringUtils.randomNumeric(1)}\r + 12345-${=org.apache.commons.lang.RandomStringUtils.randomNumeric(2)}\r \r \r -]]>No Authorizationfalse20250truetrue-130TIMESimple3000.5100true500MiscServiceSoapBindingEventNotice<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService\r - \r - \r - \r - \r - \r - \r - ${=org.apache.commons.lang.RandomStringUtils.randomNumeric(12)}\r - - ${=java.time.Instant.now()}\r - sync\r - User\r - ABC${=org.apache.commons.lang.RandomStringUtils.randomNumeric(5)}\r - \r - IDM\r - 1.0\r - Default\r - - \r - \r - \r - \r - - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r -]]>No Authorizationfalsetruetrue10250truetrue-15000COUNTSimple200.51000falsefalsetrue500falseMiscServiceSoapBindinggenerateUUIDUTF-8http://localhost:8080/XServices/MiscService\r +]]>No Authorizationfalse120250truetrue-11000000COUNTSimple200.5100true500MiscServiceSoapBindingmergeALFEvent<xml-fragment/>UTF-8http://localhost:8080/XServices/MiscService + + + + + 15b5fafba04143fb82a2fefab51541a0ccccccccccccccccccccccccccccc + 2023-05-15T17:15:10Z + sync + OU + T945GyIUhU615E/eOR${=org.apache.commons.lang.RandomStringUtils.randomNumeric(5)} + + IDM + 1.0 + Default + + + + + idminterface + H?_{_8>8@wNWRx?ZaQ + + + + + + C=DE\O=SYSTEM\OU=IDM\OU=MasterData\OU=OrgUnit\CN=24054 + + + OU + 15b5fafba04143fb82a2fbfab51541a0 + true + C=DE\O=SYSTEM\OU=IDM\OU=MasterData\OU=OrgUnit\CN=24054 + \IDMTEST\DE\SYSTEM\IDM\MasterData\OrgUnit\24054 + 7173715 + + T945GyIUhU615E/eORsiFA== + + + CN + + + + true + 1668775101#1357 + string + 24054 + + + + + degOULevel + + + + 1668775101#1328 + int + 5 + + + + + degOUManager + + + + 1668775101#1344 + string + N0165 + + + + + degOUShort + + + + 1668775101#1333 + string + IDM NEU 31052023_1 + + + + + degStatus + + + + 1668775101#1334 + int + 1 + + + + + GUID + + + + 1668775101#1358 + octet + T945GyIUhU615E/eORsiFA== + + + + + T945GyIUhU615E/eORsiFA== + 15b5fafba04143fb82a2fbfab51541a0 + sync + \IDMTEST\DE\SYSTEM\IDM\MasterData\OrgUnit\24054 + + + + + + + +]]>No Authorizationfalsetruetrue80250truetrue-1300000COUNTVariance500000.51000falsefalsetrue500falseMiscServiceSoapBindinggenerateUUIDUTF-8http://localhost:8080/XServices/MiscService\r \r \r \r