You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/06/04 13:48:20 UTC
[syncope] branch master updated: [SYNCOPE-1565] Remove JAXB in favor of Jackson Dataformat XML + enabling Travis CI f… (#192)
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new ae9f6c8 [SYNCOPE-1565] Remove JAXB in favor of Jackson Dataformat XML + enabling Travis CI f… (#192)
ae9f6c8 is described below
commit ae9f6c8cfd6603d34860811833b6b043b3143f46
Author: Francesco Chicchiriccò <il...@users.noreply.github.com>
AuthorDate: Thu Jun 4 15:48:11 2020 +0200
[SYNCOPE-1565] Remove JAXB in favor of Jackson Dataformat XML + enabling Travis CI f… (#192)
---
.travis.yml | 6 +-
.../resources/archetype-resources/core/pom.xml | 6 -
client/idrepo/lib/pom.xml | 4 +
.../client/lib/SyncopeClientFactoryBean.java | 75 ++--
common/am/lib/pom.xml | 5 -
.../common/lib/auth/AbstractAuthModuleConf.java | 11 +-
.../syncope/common/lib/auth/AuthModuleConf.java | 8 +-
.../common/lib/auth/GoogleMfaAuthModuleConf.java | 5 -
.../common/lib/auth/JDBCAuthModuleConf.java | 13 +-
.../common/lib/auth/JaasAuthModuleConf.java | 5 -
.../common/lib/auth/LDAPAuthModuleConf.java | 12 -
.../common/lib/auth/OIDCAuthModuleConf.java | 15 +-
.../common/lib/auth/RadiusAuthModuleConf.java | 5 -
.../common/lib/auth/SAML2IdPAuthModuleConf.java | 20 -
.../common/lib/auth/StaticAuthModuleConf.java | 14 -
.../common/lib/auth/SyncopeAuthModuleConf.java | 5 -
.../syncope/common/lib/auth/U2FAuthModuleConf.java | 5 -
.../syncope/common/lib/auth/package-info.java | 30 --
.../lib/policy/AbstractAccessPolicyConf.java | 39 +-
.../lib/policy/AbstractAttrReleasePolicyConf.java | 8 +-
.../common/lib/policy/AbstractAuthPolicyConf.java | 8 +-
.../lib/policy/AbstractAuthPolicyCriteriaConf.java | 8 +-
.../common/lib/policy/AccessPolicyConf.java | 6 +-
.../syncope/common/lib/policy/AccessPolicyTO.java | 12 +-
.../lib/policy/AllowedAttrReleasePolicyConf.java | 10 -
.../common/lib/policy/AttrReleasePolicyConf.java | 6 +-
.../common/lib/policy/AttrReleasePolicyTO.java | 12 +-
.../syncope/common/lib/policy/AuthPolicyConf.java | 6 +-
.../common/lib/policy/AuthPolicyCriteriaConf.java | 6 +-
.../syncope/common/lib/policy/AuthPolicyTO.java | 12 +-
.../common/lib/policy/DefaultAccessPolicyConf.java | 6 +-
.../common/lib/policy/DefaultAuthPolicyConf.java | 10 -
.../lib/policy/DefaultAuthPolicyCriteriaConf.java | 5 -
.../syncope/common/lib/policy/package-info.java | 30 --
.../apache/syncope/common/lib/to/AuthModuleTO.java | 13 +-
.../syncope/common/lib/to/AuthProfileTO.java | 25 +-
.../syncope/common/lib/to/GatewayRouteTO.java | 13 -
.../syncope/common/lib/to/SAML2IdPMetadataTO.java | 8 +-
.../syncope/common/lib/to/SAML2SPKeystoreTO.java | 33 +-
.../syncope/common/lib/to/SAML2SPMetadataTO.java | 34 +-
.../syncope/common/lib/to/client/ClientAppTO.java | 20 +-
.../syncope/common/lib/to/client/OIDCRPTO.java | 27 +-
.../syncope/common/lib/to/client/SAML2SPTO.java | 12 +-
.../syncope/common/lib/to/client/package-info.java | 30 --
.../apache/syncope/common/lib/to/package-info.java | 30 --
.../syncope/common/lib/types/ClientAppType.java | 3 -
.../syncope/common/lib/types/FilterFactory.java | 3 -
.../common/lib/types/GatewayRouteFilter.java | 8 +-
.../common/lib/types/GatewayRoutePredicate.java | 8 +-
.../common/lib/types/GatewayRouteStatus.java | 3 -
.../common/lib/types/GoogleMfaAuthToken.java | 54 ++-
.../syncope/common/lib/types/OIDCSubjectType.java | 3 -
.../syncope/common/lib/types/PredicateCond.java | 3 -
.../syncope/common/lib/types/PredicateFactory.java | 3 -
.../syncope/common/lib/types/SAML2SPNameId.java | 3 -
.../apache/syncope/common/lib/wa/WAClientApp.java | 4 +-
.../apache/syncope/common/lib/wa/package-info.java | 30 --
.../org/apache/syncope/common/lib/JSONTest.java} | 21 +-
.../syncope/common/lib/SerializationTest.java | 52 +++
.../org/apache/syncope/common/lib/XMLTest.java} | 31 +-
.../org/apache/syncope/common/lib/YAMLTest.java} | 20 +-
.../api/service/wa/GoogleMfaAuthTokenService.java | 12 +-
common/idm/lib/pom.xml | 11 -
.../apache/syncope/common/lib/to/ConnBundleTO.java | 18 +-
.../syncope/common/lib/to/ConnIdObjectClassTO.java | 18 +-
.../syncope/common/lib/to/ConnInstanceTO.java | 19 +-
.../syncope/common/lib/to/ConnPoolConfTO.java | 8 +-
.../apache/syncope/common/lib/to/MappingTO.java | 27 +-
.../apache/syncope/common/lib/to/OrgUnitTO.java | 19 +-
.../common/lib/to/PagedConnObjectTOResult.java | 18 +-
.../apache/syncope/common/lib/to/ProvisionTO.java | 19 +-
.../syncope/common/lib/to/ProvisioningReport.java | 10 +-
.../apache/syncope/common/lib/to/ReconStatus.java | 8 +-
.../syncope/common/lib/to/RemediationTO.java | 8 +-
.../apache/syncope/common/lib/to/ResourceTO.java | 19 -
.../common/lib/types/ConnConfPropSchema.java | 18 +-
.../syncope/common/lib/types/ConnConfProperty.java | 18 +-
.../common/lib/types/ConnectorCapability.java | 3 -
.../org/apache/syncope/common/lib/JAXBTest.java | 64 ----
.../org/apache/syncope/common/lib/JSONTest.java | 62 ---
common/idrepo/lib/pom.xml | 13 +-
.../java/org/apache/syncope/common/lib/Attr.java | 18 +-
.../org/apache/syncope/common/lib/BaseBean.java | 13 +-
.../syncope/common/lib/SyncopeConstants.java | 4 -
.../syncope/common/lib/info/JavaImplInfo.java | 18 +-
.../syncope/common/lib/info/NumbersInfo.java | 28 +-
.../syncope/common/lib/info/PlatformInfo.java | 65 ++--
.../apache/syncope/common/lib/info/SystemInfo.java | 19 +-
.../syncope/common/lib/info/package-info.java | 32 --
.../syncope/common/lib/jaxb/DateAdapter.java | 38 --
.../syncope/common/lib/jaxb/EntityTOType.java | 63 ---
.../common/lib/jaxb/GenericMapEntryType.java | 56 ---
.../syncope/common/lib/jaxb/GenericMapType.java | 44 ---
.../common/lib/jaxb/XmlEntityTOAdapter.java | 65 ----
.../common/lib/jaxb/XmlGenericMapAdapter.java | 47 ---
.../syncope/common/lib/jaxb/package-info.java | 31 --
.../apache/syncope/common/lib/log/AuditEntry.java | 16 +-
.../syncope/common/lib/log/EventCategory.java | 19 +-
.../apache/syncope/common/lib/log/LogAppender.java | 4 +-
.../syncope/common/lib/log/LogStatement.java | 8 +-
.../apache/syncope/common/lib/log/LoggerTO.java | 8 +-
.../syncope/common/lib/log/package-info.java | 32 --
.../common/lib/policy/AbstractAccountRuleConf.java | 8 +-
.../lib/policy/AbstractCorrelationRuleConf.java | 8 +-
.../lib/policy/AbstractPasswordRuleConf.java | 8 +-
.../syncope/common/lib/policy/AccountPolicyTO.java | 25 +-
.../common/lib/policy/ComposablePolicy.java | 4 +-
.../common/lib/policy/DefaultAccountRuleConf.java | 29 +-
.../common/lib/policy/DefaultPasswordRuleConf.java | 29 +-
.../lib/policy/DefaultPullCorrelationRuleConf.java | 14 +-
.../lib/policy/DefaultPushCorrelationRuleConf.java | 14 +-
.../lib/policy/HaveIBeenPwnedPasswordRuleConf.java | 5 -
.../common/lib/policy/PasswordPolicyTO.java | 20 +-
.../apache/syncope/common/lib/policy/PolicyTO.java | 34 +-
.../common/lib/policy/ProvisioningPolicyTO.java | 10 -
.../syncope/common/lib/policy/PullPolicyTO.java | 14 +-
.../syncope/common/lib/policy/PushPolicyTO.java | 14 +-
.../apache/syncope/common/lib/policy/RuleConf.java | 6 +-
.../syncope/common/lib/policy/package-info.java | 32 --
.../lib/report/AbstractAnyReportletConf.java | 3 -
.../common/lib/report/AbstractReportletConf.java | 10 +-
.../common/lib/report/AuditReportletConf.java | 6 -
.../common/lib/report/GroupReportletConf.java | 32 +-
.../lib/report/ReconciliationReportletConf.java | 19 +-
.../syncope/common/lib/report/ReportletConf.java | 6 +-
.../common/lib/report/StaticReportletConf.java | 15 +-
.../common/lib/report/UserReportletConf.java | 33 +-
.../syncope/common/lib/report/package-info.java | 32 --
.../syncope/common/lib/request/AbstractPatch.java | 8 +-
.../common/lib/request/AbstractPatchItem.java | 6 -
.../lib/request/AbstractReplacePatchItem.java | 4 -
.../apache/syncope/common/lib/request/AnyCR.java | 45 +--
.../syncope/common/lib/request/AnyObjectCR.java | 27 +-
.../syncope/common/lib/request/AnyObjectUR.java | 24 +-
.../apache/syncope/common/lib/request/AnyUR.java | 46 +--
.../syncope/common/lib/request/AttrPatch.java | 4 -
.../lib/request/BooleanReplacePatchItem.java | 5 -
.../apache/syncope/common/lib/request/GroupCR.java | 25 +-
.../apache/syncope/common/lib/request/GroupUR.java | 22 +-
.../common/lib/request/LinkedAccountUR.java | 4 -
.../syncope/common/lib/request/LongPatchItem.java | 5 -
.../syncope/common/lib/request/MembershipUR.java | 20 +-
.../syncope/common/lib/request/PasswordPatch.java | 16 +-
.../syncope/common/lib/request/RelationshipUR.java | 4 -
.../syncope/common/lib/request/ResourceAR.java | 4 -
.../syncope/common/lib/request/ResourceDR.java | 18 +-
.../apache/syncope/common/lib/request/StatusR.java | 4 -
.../common/lib/request/StringPatchItem.java | 5 -
.../common/lib/request/StringReplacePatchItem.java | 7 -
.../apache/syncope/common/lib/request/UserCR.java | 36 +-
.../apache/syncope/common/lib/request/UserUR.java | 33 +-
.../syncope/common/lib/request/package-info.java | 32 --
.../search/AbstractFiqlSearchConditionBuilder.java | 4 +-
.../syncope/common/lib/search/package-info.java | 32 --
.../common/lib/to/AbstractStartEndBean.java | 6 +-
.../syncope/common/lib/to/AccessTokenTO.java | 8 +-
.../apache/syncope/common/lib/to/AnyObjectTO.java | 30 +-
.../org/apache/syncope/common/lib/to/AnyTO.java | 52 +--
.../syncope/common/lib/to/AnyTypeClassTO.java | 30 +-
.../apache/syncope/common/lib/to/AnyTypeTO.java | 14 +-
.../syncope/common/lib/to/ApplicationTO.java | 15 +-
.../apache/syncope/common/lib/to/ConnObjectTO.java | 18 +-
.../apache/syncope/common/lib/to/DerSchemaTO.java | 12 +-
.../apache/syncope/common/lib/to/DynRealmTO.java | 9 -
.../org/apache/syncope/common/lib/to/EntityTO.java | 4 +-
.../org/apache/syncope/common/lib/to/ErrorTO.java | 19 +-
.../org/apache/syncope/common/lib/to/ExecTO.java | 4 -
.../org/apache/syncope/common/lib/to/GroupTO.java | 24 +-
.../syncope/common/lib/to/ImplementationTO.java | 4 -
.../syncope/common/lib/to/ItemContainerTO.java | 3 +-
.../org/apache/syncope/common/lib/to/ItemTO.java | 14 +-
.../org/apache/syncope/common/lib/to/JobTO.java | 10 +-
.../syncope/common/lib/to/LinkedAccountTO.java | 19 +-
.../syncope/common/lib/to/MailTemplateTO.java | 4 -
.../apache/syncope/common/lib/to/MembershipTO.java | 34 +-
.../syncope/common/lib/to/NotificationTO.java | 23 +-
.../syncope/common/lib/to/NotificationTaskTO.java | 20 +-
.../apache/syncope/common/lib/to/PagedResult.java | 19 +-
.../syncope/common/lib/to/PlainSchemaTO.java | 13 +-
.../apache/syncope/common/lib/to/PrivilegeTO.java | 4 -
.../syncope/common/lib/to/PropagationStatus.java | 8 +-
.../syncope/common/lib/to/PropagationTaskTO.java | 21 +-
.../syncope/common/lib/to/ProvisioningResult.java | 26 +-
.../syncope/common/lib/to/ProvisioningTaskTO.java | 18 +-
.../apache/syncope/common/lib/to/PullTaskTO.java | 22 +-
.../apache/syncope/common/lib/to/PushTaskTO.java | 20 +-
.../org/apache/syncope/common/lib/to/RealmTO.java | 26 +-
.../syncope/common/lib/to/RelationshipTO.java | 8 +-
.../syncope/common/lib/to/RelationshipTypeTO.java | 5 -
.../org/apache/syncope/common/lib/to/ReportTO.java | 22 +-
.../syncope/common/lib/to/ReportTemplateTO.java | 4 -
.../org/apache/syncope/common/lib/to/RoleTO.java | 29 +-
.../apache/syncope/common/lib/to/SchedTaskTO.java | 19 +-
.../org/apache/syncope/common/lib/to/SchemaTO.java | 26 +-
.../syncope/common/lib/to/SecurityQuestionTO.java | 4 -
.../org/apache/syncope/common/lib/to/TaskTO.java | 30 +-
.../syncope/common/lib/to/TemplatableTO.java | 4 +-
.../syncope/common/lib/to/TypeExtensionTO.java | 18 +-
.../org/apache/syncope/common/lib/to/UserTO.java | 49 +--
.../apache/syncope/common/lib/to/VirSchemaTO.java | 10 +-
.../apache/syncope/common/lib/to/package-info.java | 32 --
.../syncope/common/lib/types/AnyTypeKind.java | 2 -
.../syncope/common/lib/types/AttrSchemaType.java | 2 -
.../syncope/common/lib/types/AuditElements.java | 7 +-
.../syncope/common/lib/types/AuditLoggerName.java | 5 +-
.../syncope/common/lib/types/CipherAlgorithm.java | 3 -
.../common/lib/types/ConflictResolutionAction.java | 3 -
.../common/lib/types/EntityViolationType.java | 3 -
.../syncope/common/lib/types/ExecStatus.java | 2 -
.../common/lib/types/ImplementationEngine.java | 4 -
.../apache/syncope/common/lib/types/JobAction.java | 3 -
.../apache/syncope/common/lib/types/JobType.java | 3 -
.../syncope/common/lib/types/LoggerLevel.java | 2 -
.../syncope/common/lib/types/LoggerType.java | 2 -
.../common/lib/types/MailTemplateFormat.java | 3 -
.../apache/syncope/common/lib/types/MatchType.java | 3 -
.../syncope/common/lib/types/MatchingRule.java | 5 +-
.../syncope/common/lib/types/PatchOperation.java | 3 -
.../syncope/common/lib/types/PolicyType.java | 3 -
.../syncope/common/lib/types/ProvisionAction.java | 3 -
.../apache/syncope/common/lib/types/PullMode.java | 3 -
.../common/lib/types/ReportExecExportFormat.java | 3 -
.../syncope/common/lib/types/ReportExecStatus.java | 3 -
.../common/lib/types/ReportTemplateFormat.java | 3 -
.../lib/types/ResourceAssociationAction.java | 3 -
.../lib/types/ResourceDeassociationAction.java | 3 -
.../common/lib/types/ResourceOperation.java | 3 -
.../syncope/common/lib/types/SchemaType.java | 2 -
.../syncope/common/lib/types/StatusRType.java | 3 -
.../apache/syncope/common/lib/types/TaskType.java | 2 -
.../syncope/common/lib/types/TraceLevel.java | 3 -
.../syncope/common/lib/types/UnmatchingRule.java | 3 -
.../syncope/common/lib/types/package-info.java | 32 --
.../org/apache/syncope/common/lib/JAXBTest.java | 110 ------
.../org/apache/syncope/common/lib/JSONTest.java | 54 +--
.../syncope/common/lib/SerializationTest.java | 127 +++++++
.../org/apache/syncope/common/lib/XMLTest.java} | 33 +-
.../org/apache/syncope/common/lib/YAMLTest.java} | 20 +-
.../core/logic/GoogleMfaAuthTokenLogic.java | 121 +++---
.../service/wa/GoogleMfaAuthTokenServiceImpl.java | 42 +-
core/idrepo/rest-cxf/pom.xml | 21 +-
.../syncope/core/rest/cxf/RESTCXFContext.java | 55 +--
.../core/rest/cxf/SyncopeOpenApiCustomizer.java | 2 +-
.../syncope/core/rest/cxf/SyncopeXmlMapper.java | 43 +++
.../syncope/core/rest/cxf/WADLInitializer.java | 42 --
.../apache/syncope/core/rest/cxf/WADLServlet.java | 116 ------
.../syncope/core/rest/cxf/WadlGenerator.java | 130 -------
.../src/main/resources/META-INF/spring.factories | 3 +-
.../src/main/resources/wadl2html/index.xsl | 423 ---------------------
.../src/main/resources/wadl2html/schema.xsl | 148 -------
.../rest/cxf/service/AnyObjectServiceTest.java | 38 +-
.../core/rest/cxf/service/RESTCXFTestContext.java | 33 +-
.../src/main/resources/domains/MasterContent.xml | 4 +-
.../src/test/resources/domains/MasterContent.xml | 82 ++--
.../src/main/resources/domains/MasterContent.xml | 2 +-
.../jpa/inner/AbstractClientAppTest.java | 3 +-
.../core/persistence/jpa/inner/PolicyTest.java | 3 +-
.../src/test/resources/domains/MasterContent.xml | 82 ++--
core/starter/pom.xml | 52 +++
.../core/starter}/SwaggerUIInitializer.java | 4 +-
.../main/resources/META-INF/resources}/index.html | 2 +-
docker/core/pom.xml | 6 -
.../apache/syncope/common/lib/to/CamelMetrics.java | 17 +-
.../apache/syncope/common/lib/to/CamelRouteTO.java | 4 -
.../common/ui/panels/UserRequestFormPanel.java | 19 +-
ext/flowable/common-lib/pom.xml | 6 +
.../apache/syncope/common/lib/to/BpmnProcess.java | 5 -
.../apache/syncope/common/lib/to/UserRequest.java | 58 ++-
.../syncope/common/lib/to/UserRequestForm.java | 91 +++--
.../common/lib/to/UserRequestFormProperty.java | 73 +++-
.../lib/to/UserRequestFormPropertyValue.java | 42 +-
.../apache/syncope/common/lib/to/WorkflowTask.java | 4 -
.../common/lib/to/WorkflowTaskExecInput.java | 9 -
.../common/lib/types/BpmnProcessFormat.java | 15 +-
.../lib/types/UserRequestFormPropertyType.java | 3 -
.../syncope/common/lib/types/WorkflowTasks.java | 2 -
.../org/apache/syncope/common/lib/to/JSONTest.java | 11 +-
.../syncope/common/lib/to/SerializationTest.java | 80 ++++
.../org/apache/syncope/common/lib/to/XMLTest.java | 31 +-
.../org/apache/syncope/common/lib/to/YAMLTest.java | 16 +-
.../flowable/impl/FlowableUserRequestHandler.java | 9 +-
.../rest/cxf/service/BpmnProcessServiceImpl.java | 3 +-
.../syncope/common/lib/to/OIDCLoginRequestTO.java | 4 -
.../syncope/common/lib/to/OIDCLoginResponseTO.java | 15 +-
.../syncope/common/lib/to/OIDCLogoutRequestTO.java | 4 -
.../syncope/common/lib/to/OIDCProviderTO.java | 24 +-
ext/pom.xml | 1 -
.../apache/syncope/common/lib/to/SAML2IdPTO.java | 27 +-
.../common/lib/to/SAML2LoginResponseTO.java | 14 +-
.../common/lib/to/SAML2ReceivedResponseTO.java | 5 -
.../syncope/common/lib/to/SAML2RequestTO.java | 5 -
.../syncope/common/lib/types/SAML2BindingType.java | 3 -
.../common/lib/types/SignatureAlgorithm.java | 1 -
.../syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java | 22 +-
.../self/keymaster/cxf/SelfKeymasterContext.java | 26 +-
ext/swagger-ui/pom.xml | 133 -------
.../src/main/resources/META-INF/spring.factories | 19 -
fit/build-tools/pom.xml | 4 +-
fit/console-reference/pom.xml | 2 +-
fit/core-reference/pom.xml | 19 +-
.../org/apache/syncope/fit/AbstractITCase.java | 5 +-
.../org/apache/syncope/fit/core/BatchITCase.java | 31 +-
.../syncope/fit/core/GoogleMfaAuthTokenITCase.java | 16 +-
.../org/apache/syncope/fit/core/PolicyITCase.java | 13 +-
.../org/apache/syncope/fit/core/RealmITCase.java | 2 +-
.../org/apache/syncope/fit/core/SAML2ITCase.java | 7 +-
.../org/apache/syncope/fit/core/UserITCase.java | 7 -
fit/enduser-reference/pom.xml | 2 +-
fit/wa-reference/pom.xml | 2 +-
pom.xml | 40 +-
src/main/asciidoc/getting-started/obtain.adoc | 6 -
.../reference-guide/architecture/core.adoc | 3 -
.../reference-guide/concepts/extensions.adoc | 26 --
.../workingwithapachesyncope/customization.adoc | 14 -
.../workingwithapachesyncope/restfulservices.adoc | 3 -
.../SyncopeWAGoogleMfaAuthTokenRepository.java | 61 ++-
.../wa/starter/SyncopeCoreTestingServer.java | 48 +--
.../wa/starter/SyncopeServiceRegistryTest.java | 2 +-
318 files changed, 1825 insertions(+), 4842 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 4a58937..428e276 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -83,9 +83,9 @@ jobs:
- stage: fit
name: "Integration Tests: Tomcat / H2 / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml verify -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- #- stage: fit
- #name: "Integration Tests: Tomcat / H2 / XML Content-Type"
- #script: mvn -f fit/core-reference/pom.xml verify -Djaxrs.content.type=application/xml -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
+ - stage: fit
+ name: "Integration Tests: Tomcat / H2 / XML Content-Type"
+ script: mvn -f fit/core-reference/pom.xml verify -Djaxrs.content.type=application/xml -Dit.test=org.apache.syncope.fit.core.*ITCase -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / H2 / YAML Content-Type"
script: mvn -f fit/core-reference/pom.xml verify -Djaxrs.content.type=application/yaml -Dit.test=org.apache.syncope.fit.core.*ITCase -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
diff --git a/archetype/src/main/resources/archetype-resources/core/pom.xml b/archetype/src/main/resources/archetype-resources/core/pom.xml
index 77f8f59..18f03a2 100644
--- a/archetype/src/main/resources/archetype-resources/core/pom.xml
+++ b/archetype/src/main/resources/archetype-resources/core/pom.xml
@@ -170,12 +170,6 @@ under the License.
<artifactId>syncope-ext-scimv2-scim-rest-cxf</artifactId>
<version>${syncope.version}</version>
</dependency>
-
- <dependency>
- <groupId>org.apache.syncope.ext</groupId>
- <artifactId>syncope-ext-swagger-ui</artifactId>
- <version>${syncope.version}</version>
- </dependency>
</dependencies>
<build>
diff --git a/client/idrepo/lib/pom.xml b/client/idrepo/lib/pom.xml
index 52dc00d..6062661 100644
--- a/client/idrepo/lib/pom.xml
+++ b/client/idrepo/lib/pom.xml
@@ -57,6 +57,10 @@ under the License.
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
+ <artifactId>jackson-jaxrs-xml-provider</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-yaml-provider</artifactId>
</dependency>
diff --git a/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java b/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
index ee1fdf4..bec3941 100644
--- a/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
+++ b/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
@@ -18,25 +18,26 @@
*/
package org.apache.syncope.client.lib;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import com.fasterxml.jackson.datatype.joda.JodaModule;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider;
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
+import com.fasterxml.jackson.jaxrs.xml.JacksonXMLProvider;
+import com.fasterxml.jackson.jaxrs.yaml.JacksonYAMLProvider;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import javax.ws.rs.core.MediaType;
-import javax.xml.bind.Marshaller;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.configuration.jsse.TLSClientParameters;
import org.apache.cxf.ext.logging.LoggingFeature;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
-import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
-import org.apache.cxf.staxutils.DocumentDepthProperties;
-import org.apache.syncope.common.lib.policy.PolicyTO;
import org.apache.syncope.common.rest.api.DateParamConverterProvider;
import org.apache.syncope.common.rest.api.RESTHeaders;
@@ -71,11 +72,11 @@ public class SyncopeClientFactoryBean {
}
}
- private JacksonJaxbJsonProvider jsonProvider;
+ private JacksonJsonProvider jsonProvider;
- private JAXBElementProvider<?> jaxbProvider;
+ private JacksonXMLProvider xmlProvider;
- private JacksonJaxbYAMLProvider yamlProvider;
+ private JacksonYAMLProvider yamlProvider;
private RestClientExceptionMapper exceptionMapper;
@@ -91,37 +92,28 @@ public class SyncopeClientFactoryBean {
private JAXRSClientFactoryBean restClientFactoryBean;
- protected static JacksonJaxbJsonProvider defaultJsonProvider() {
+ protected static JacksonJsonProvider defaultJsonProvider() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JodaModule());
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
- return new JacksonJaxbJsonProvider(objectMapper, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
+ return new JacksonJsonProvider(objectMapper);
}
- @SuppressWarnings({ "rawtypes" })
- protected static JAXBElementProvider<?> defaultJAXBProvider() {
- JAXBElementProvider<?> defaultJAXBProvider = new JAXBElementProvider();
-
- DocumentDepthProperties depthProperties = new DocumentDepthProperties();
- depthProperties.setInnerElementCountThreshold(500);
- defaultJAXBProvider.setDepthProperties(depthProperties);
-
- Map<String, Object> marshallerProperties = new HashMap<>();
- marshallerProperties.put(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
- defaultJAXBProvider.setMarshallerProperties(marshallerProperties);
-
- Map<String, String> collectionWrapperMap = new HashMap<>();
- collectionWrapperMap.put(PolicyTO.class.getName(), "policies");
- defaultJAXBProvider.setCollectionWrapperMap(collectionWrapperMap);
-
- return defaultJAXBProvider;
+ protected static JacksonXMLProvider defaultXmlProvider() {
+ XmlMapper xmlMapper = new XmlMapper();
+ xmlMapper.registerModule(new JodaModule());
+ xmlMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+ xmlMapper.configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ xmlMapper.configOverride(Set.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ xmlMapper.configOverride(Map.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ return new JacksonXMLProvider(xmlMapper);
}
- protected static JacksonJaxbYAMLProvider defaultYamlProvider() {
+ protected static JacksonYAMLProvider defaultYamlProvider() {
YAMLMapper yamlMapper = new YAMLMapper();
yamlMapper.registerModule(new JodaModule());
yamlMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
- return new JacksonJaxbYAMLProvider(yamlMapper, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
+ return new JacksonYAMLProvider(yamlMapper);
}
protected static RestClientExceptionMapper defaultExceptionMapper() {
@@ -149,39 +141,38 @@ public class SyncopeClientFactoryBean {
defaultRestClientFactoryBean.setProviders(List.of(
new DateParamConverterProvider(),
getJsonProvider(),
- getJaxbProvider(),
+ getXmlProvider(),
getYamlProvider(),
getExceptionMapper()));
return defaultRestClientFactoryBean;
}
- public JacksonJaxbJsonProvider getJsonProvider() {
+ public JacksonJsonProvider getJsonProvider() {
return Optional.ofNullable(jsonProvider).orElseGet(SyncopeClientFactoryBean::defaultJsonProvider);
}
- public void setJsonProvider(final JacksonJaxbJsonProvider jsonProvider) {
+ public void setJsonProvider(final JacksonJsonProvider jsonProvider) {
this.jsonProvider = jsonProvider;
}
- public JAXBElementProvider<?> getJaxbProvider() {
- return jaxbProvider == null
- ? defaultJAXBProvider()
- : jaxbProvider;
+ public JacksonXMLProvider getXmlProvider() {
+ return xmlProvider == null
+ ? defaultXmlProvider()
+ : xmlProvider;
}
- public SyncopeClientFactoryBean setJaxbProvider(final JAXBElementProvider<?> jaxbProvider) {
- this.jaxbProvider = jaxbProvider;
- return this;
+ public void setXmlProvider(final JacksonXMLProvider xmlProvider) {
+ this.xmlProvider = xmlProvider;
}
- public JacksonJaxbYAMLProvider getYamlProvider() {
+ public JacksonYAMLProvider getYamlProvider() {
return yamlProvider == null
? defaultYamlProvider()
: yamlProvider;
}
- public void setYamlProvider(final JacksonJaxbYAMLProvider yamlProvider) {
+ public void setYamlProvider(final JacksonYAMLProvider yamlProvider) {
this.yamlProvider = yamlProvider;
}
diff --git a/common/am/lib/pom.xml b/common/am/lib/pom.xml
index 2f01ca1..b3ebdde 100644
--- a/common/am/lib/pom.xml
+++ b/common/am/lib/pom.xml
@@ -45,11 +45,6 @@ under the License.
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AbstractAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AbstractAuthModuleConf.java
index a4399d6..089d24c 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AbstractAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AbstractAuthModuleConf.java
@@ -18,15 +18,9 @@
*/
package org.apache.syncope.common.lib.auth;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ JaasAuthModuleConf.class, StaticAuthModuleConf.class, LDAPAuthModuleConf.class,
- OIDCAuthModuleConf.class, GoogleMfaAuthModuleConf.class, SAML2IdPAuthModuleConf.class, U2FAuthModuleConf.class,
- JDBCAuthModuleConf.class, SyncopeAuthModuleConf.class, RadiusAuthModuleConf.class })
-public abstract class AbstractAuthModuleConf implements Serializable, AuthModuleConf {
+public abstract class AbstractAuthModuleConf implements BaseBean, AuthModuleConf {
private static final long serialVersionUID = 4153200197344709778L;
@@ -44,5 +38,4 @@ public abstract class AbstractAuthModuleConf implements Serializable, AuthModule
public final void setName(final String name) {
this.name = name;
}
-
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AuthModuleConf.java
index 28c1357..35be339 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AuthModuleConf.java
@@ -19,12 +19,10 @@
package org.apache.syncope.common.lib.auth;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlTransient;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlTransient
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface AuthModuleConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface AuthModuleConf extends BaseBean {
/**
* Given name of related authentication module instance.
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/GoogleMfaAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/GoogleMfaAuthModuleConf.java
index a2e4168..4912fcc 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/GoogleMfaAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/GoogleMfaAuthModuleConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.auth;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "googleMfaAuthModuleConf")
-@XmlType
public class GoogleMfaAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -7883257599139312426L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JDBCAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JDBCAuthModuleConf.java
index 16bd704..658a3c3 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JDBCAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JDBCAuthModuleConf.java
@@ -18,17 +18,9 @@
*/
package org.apache.syncope.common.lib.auth;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-@XmlRootElement(name = "jdbcAuthModuleConf")
-@XmlType
public class JDBCAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = 8383233437907219385L;
@@ -68,7 +60,7 @@ public class JDBCAuthModuleConf extends AbstractAuthModuleConf {
* The database connection URL.
*/
private String url = "jdbc:h2:tcp://localhost:9092/mem:authdb;DB_CLOSE_DELAY=-1";
-
+
/**
* The database user.
* <p>
@@ -119,9 +111,6 @@ public class JDBCAuthModuleConf extends AbstractAuthModuleConf {
this.fieldDisabled = fieldDisabled;
}
- @XmlElementWrapper(name = "principalAttributeList")
- @XmlElement(name = "principalAttributeList")
- @JsonProperty("principalAttributeList")
public List<String> getPrincipalAttributeList() {
return principalAttributeList;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JaasAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JaasAuthModuleConf.java
index b8627ab..7291b8e 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JaasAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/JaasAuthModuleConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.auth;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "jaasAuthModuleConf")
-@XmlType
public class JaasAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -7775771400318503131L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/LDAPAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/LDAPAuthModuleConf.java
index 55260bc..97e4c26 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/LDAPAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/LDAPAuthModuleConf.java
@@ -18,18 +18,9 @@
*/
package org.apache.syncope.common.lib.auth;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
import java.util.ArrayList;
import java.util.List;
-@XmlRootElement(name = "ldapAuthModuleConf")
-@XmlType
public class LDAPAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -471527731042579422L;
@@ -135,9 +126,6 @@ public class LDAPAuthModuleConf extends AbstractAuthModuleConf {
this.baseDn = baseDn;
}
- @XmlElementWrapper(name = "principalAttributeList")
- @XmlElement(name = "principalAttributeList")
- @JsonProperty("principalAttributeList")
public List<String> getPrincipalAttributeList() {
return principalAttributeList;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/OIDCAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/OIDCAuthModuleConf.java
index d59b34d..cd6b008 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/OIDCAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/OIDCAuthModuleConf.java
@@ -18,18 +18,9 @@
*/
package org.apache.syncope.common.lib.auth;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.xml.bind.annotation.XmlType;
import java.util.HashMap;
import java.util.Map;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
-
-@XmlRootElement(name = "oidcAuthModuleConf")
-@XmlType
+
public class OIDCAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -471527731042579422L;
@@ -78,7 +69,6 @@ public class OIDCAuthModuleConf extends AbstractAuthModuleConf {
/**
* Custom parameters to send along in authZ requests, etc.
*/
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> customParams = new HashMap<>(0);
/**
@@ -157,9 +147,6 @@ public class OIDCAuthModuleConf extends AbstractAuthModuleConf {
this.maxClockSkew = maxClockSkew;
}
- @XmlElementWrapper(name = "customParams")
- @XmlElement(name = "customParam")
- @JsonProperty("customParams")
public Map<String, String> getCustomParams() {
return customParams;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/RadiusAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/RadiusAuthModuleConf.java
index 7cd543c..46f4eb2 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/RadiusAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/RadiusAuthModuleConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.auth;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "radiusAuthModuleConf")
-@XmlType
public class RadiusAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -2235771400318503131L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SAML2IdPAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SAML2IdPAuthModuleConf.java
index 32079b4..43bf7c3 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SAML2IdPAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SAML2IdPAuthModuleConf.java
@@ -18,16 +18,9 @@
*/
package org.apache.syncope.common.lib.auth;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "saml2IdPAuthModuleConf")
-@XmlType
public class SAML2IdPAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -471527731042579422L;
@@ -55,7 +48,6 @@ public class SAML2IdPAuthModuleConf extends AbstractAuthModuleConf {
*/
private String privateKeyPassword;
-
/**
* The metadata location of the identity provider that is to handle authentications.
*/
@@ -279,9 +271,6 @@ public class SAML2IdPAuthModuleConf extends AbstractAuthModuleConf {
this.nameIdPolicyAllowCreate = nameIdPolicyAllowCreate;
}
- @XmlElementWrapper(name = "authnContextClassRefs")
- @XmlElement(name = "authnContextClassRef")
- @JsonProperty("authnContextClassRefs")
public List<String> getAuthnContextClassRefs() {
return authnContextClassRefs;
}
@@ -366,23 +355,14 @@ public class SAML2IdPAuthModuleConf extends AbstractAuthModuleConf {
this.signServiceProviderLogoutRequest = signServiceProviderLogoutRequest;
}
- @XmlElementWrapper(name = "blackListedSignatureSigningAlgorithms")
- @XmlElement(name = "blackListedSignatureSigningAlgorithm")
- @JsonProperty("blackListedSignatureSigningAlgorithms")
public List<String> getBlackListedSignatureSigningAlgorithms() {
return blackListedSignatureSigningAlgorithms;
}
- @XmlElementWrapper(name = "signatureAlgorithms")
- @XmlElement(name = "signatureAlgorithm")
- @JsonProperty("signatureAlgorithms")
public List<String> getSignatureAlgorithms() {
return signatureAlgorithms;
}
- @XmlElementWrapper(name = "signatureReferenceDigestMethods")
- @XmlElement(name = "signatureReferenceDigestMethod")
- @JsonProperty("signatureReferenceDigestMethods")
public List<String> getSignatureReferenceDigestMethods() {
return signatureReferenceDigestMethods;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/StaticAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/StaticAuthModuleConf.java
index 60d2751..d73b347 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/StaticAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/StaticAuthModuleConf.java
@@ -18,30 +18,16 @@
*/
package org.apache.syncope.common.lib.auth;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.xml.bind.annotation.XmlType;
import java.util.HashMap;
import java.util.Map;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
-@XmlRootElement(name = "staticAuthModuleConf")
-@XmlType
public class StaticAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -7775771400318503131L;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> users = new HashMap<>();
- @XmlElementWrapper(name = "users")
- @XmlElement(name = "user")
- @JsonProperty("users")
public Map<String, String> getUsers() {
return users;
}
-
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SyncopeAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SyncopeAuthModuleConf.java
index 2ac2192..f83ae24 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SyncopeAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/SyncopeAuthModuleConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.auth;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "syncopeAuthModuleConf")
-@XmlType
public class SyncopeAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -3334329948161152222L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/U2FAuthModuleConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/U2FAuthModuleConf.java
index cc127da..e7a84c0 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/U2FAuthModuleConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/U2FAuthModuleConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.auth;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "u2fAuthModuleConf")
-@XmlType
public class U2FAuthModuleConf extends AbstractAuthModuleConf {
private static final long serialVersionUID = -1235771400318503131L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/package-info.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/package-info.java
deleted file mode 100644
index e3765a0..0000000
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/package-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(namespace = SyncopeConstants.NS)
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.auth;
-
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
-
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-
-import java.util.Date;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccessPolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccessPolicyConf.java
index 5152d95..f5ebb4e 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccessPolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccessPolicyConf.java
@@ -18,21 +18,20 @@
*/
package org.apache.syncope.common.lib.policy;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.util.LinkedHashMap;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
+import java.util.stream.Collectors;
+import org.apache.syncope.common.lib.Attr;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ DefaultAccessPolicyConf.class })
-public abstract class AbstractAccessPolicyConf implements Serializable, AccessPolicyConf {
+public abstract class AbstractAccessPolicyConf implements BaseBean, AccessPolicyConf {
private static final long serialVersionUID = 1153200197344709778L;
@@ -42,8 +41,10 @@ public abstract class AbstractAccessPolicyConf implements Serializable, AccessPo
private boolean ssoEnabled = true;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
- private final Map<String, Set<String>> requiredAttrs = new LinkedHashMap<>();
+ @JacksonXmlElementWrapper(localName = "requiredAttrs")
+ @JacksonXmlProperty(localName = "requiredAttr")
+ @JsonProperty("requiredAttrs")
+ private final List<Attr> requiredAttrList = new ArrayList<>();
public AbstractAccessPolicyConf() {
setName(getClass().getName());
@@ -76,11 +77,15 @@ public abstract class AbstractAccessPolicyConf implements Serializable, AccessPo
this.ssoEnabled = ssoEnabled;
}
- @XmlElementWrapper(name = "requiredAttrs")
- @XmlElement(name = "requiredAttr")
- @JsonProperty("requiredAttrs")
+ @JsonIgnore
@Override
public Map<String, Set<String>> getRequiredAttrs() {
- return requiredAttrs;
+ return requiredAttrList.stream().
+ collect(Collectors.toUnmodifiableMap(Attr::getSchema, attr -> new HashSet<>(attr.getValues())));
+ }
+
+ public void addRequiredAttr(final String key, final Set<String> values) {
+ requiredAttrList.removeIf(attr -> attr.getSchema().equals(key));
+ requiredAttrList.add(new Attr.Builder(key).values(values).build());
}
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAttrReleasePolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAttrReleasePolicyConf.java
index e3a8206..5013c4b 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAttrReleasePolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAttrReleasePolicyConf.java
@@ -18,13 +18,9 @@
*/
package org.apache.syncope.common.lib.policy;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ AllowedAttrReleasePolicyConf.class })
-public abstract class AbstractAttrReleasePolicyConf implements Serializable, AttrReleasePolicyConf {
+public abstract class AbstractAttrReleasePolicyConf implements BaseBean, AttrReleasePolicyConf {
private static final long serialVersionUID = 1153200197344709778L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyConf.java
index ac19f37..1a66800 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyConf.java
@@ -18,13 +18,9 @@
*/
package org.apache.syncope.common.lib.policy;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ DefaultAuthPolicyConf.class })
-public abstract class AbstractAuthPolicyConf implements Serializable, AuthPolicyConf {
+public abstract class AbstractAuthPolicyConf implements BaseBean, AuthPolicyConf {
private static final long serialVersionUID = 9185127128182430142L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyCriteriaConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyCriteriaConf.java
index a25438f..8f9bd14 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyCriteriaConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAuthPolicyCriteriaConf.java
@@ -18,13 +18,7 @@
*/
package org.apache.syncope.common.lib.policy;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-
-@XmlType
-@XmlSeeAlso({ DefaultAuthPolicyCriteriaConf.class })
-public abstract class AbstractAuthPolicyCriteriaConf implements AuthPolicyCriteriaConf, Serializable {
+public abstract class AbstractAuthPolicyCriteriaConf implements AuthPolicyCriteriaConf {
private static final long serialVersionUID = -6882164291962510245L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java
index 9587418..da2e53c 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java
@@ -19,12 +19,12 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
import java.util.Map;
import java.util.Set;
+import org.apache.syncope.common.lib.BaseBean;
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface AccessPolicyConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface AccessPolicyConf extends BaseBean {
/**
* Give name of related access policy.
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyTO.java
index 34c500d..093ca7a 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyTO.java
@@ -20,22 +20,18 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "accessPolicy")
-@XmlType
public class AccessPolicyTO extends PolicyTO {
private static final long serialVersionUID = -6711411162433533300L;
private AccessPolicyConf conf;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.AccessPolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.AccessPolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AllowedAttrReleasePolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AllowedAttrReleasePolicyConf.java
index d0174ff..889c302 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AllowedAttrReleasePolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AllowedAttrReleasePolicyConf.java
@@ -18,16 +18,9 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-@XmlRootElement(name = "allowedAttrReleasePolicyConf")
-@XmlType
public class AllowedAttrReleasePolicyConf extends AbstractAttrReleasePolicyConf implements AttrReleasePolicyConf {
private static final long serialVersionUID = -1969836661359025380L;
@@ -38,9 +31,6 @@ public class AllowedAttrReleasePolicyConf extends AbstractAttrReleasePolicyConf
*/
private final List<String> allowedAttrs = new ArrayList<>();
- @XmlElementWrapper(name = "allowedAttrs")
- @XmlElement(name = "allowedAttr")
- @JsonProperty("allowedAttrs")
public List<String> getAllowedAttrs() {
return allowedAttrs;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyConf.java
index 0a3e1d1..fbd8c2e 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyConf.java
@@ -19,10 +19,10 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface AttrReleasePolicyConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface AttrReleasePolicyConf extends BaseBean {
/**
* Give name of related attr release policy.
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyTO.java
index 1d7f050..5e43b9a 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AttrReleasePolicyTO.java
@@ -19,22 +19,18 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "attrReleasePolicy")
-@XmlType
public class AttrReleasePolicyTO extends PolicyTO {
private static final long serialVersionUID = -1432411162433533300L;
private AttrReleasePolicyConf conf;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.AttrReleasePolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.AttrReleasePolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyConf.java
index 7740d3c..e8a0945 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyConf.java
@@ -19,10 +19,10 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface AuthPolicyConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface AuthPolicyConf extends BaseBean {
/**
* Give name of related authentication policy instance.
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyCriteriaConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyCriteriaConf.java
index 4ba54bb..6597368 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyCriteriaConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyCriteriaConf.java
@@ -19,7 +19,7 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
/**
* Determine the criteria by which the authentication policy
@@ -29,8 +29,8 @@ import java.io.Serializable;
* or "any module can validate the user" before the policy can consider it
* a success.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface AuthPolicyCriteriaConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface AuthPolicyCriteriaConf extends BaseBean {
/**
* Describe the name of the authentication policy criteria.
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyTO.java
index 8301d69..f54e1b2 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AuthPolicyTO.java
@@ -19,22 +19,18 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "authPolicy")
-@XmlType
public class AuthPolicyTO extends PolicyTO {
private static final long serialVersionUID = -6711411162433533300L;
private AuthPolicyConf conf;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.AuthPolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.AuthPolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccessPolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccessPolicyConf.java
index df2315c..490f311 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccessPolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccessPolicyConf.java
@@ -18,12 +18,8 @@
*/
package org.apache.syncope.common.lib.policy;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "defaultAccessPolicyConf")
-@XmlType
public class DefaultAccessPolicyConf extends AbstractAccessPolicyConf implements AccessPolicyConf {
private static final long serialVersionUID = -1969836600059025380L;
+
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
index ce1507b..1c70592 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
@@ -18,25 +18,15 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-@XmlRootElement(name = "defaultAuthPolicyConf")
-@XmlType
public class DefaultAuthPolicyConf extends AbstractAuthPolicyConf implements AuthPolicyConf {
private static final long serialVersionUID = -2969836600059025380L;
private final List<String> authModules = new ArrayList<>();
- @XmlElementWrapper(name = "authModules")
- @XmlElement(name = "authModule")
- @JsonProperty("authModules")
public List<String> getAuthModules() {
return authModules;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyCriteriaConf.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyCriteriaConf.java
index 96b17ca..4d0f4b6 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyCriteriaConf.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyCriteriaConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.policy;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "defaultAuthPolicyCriteriaConf")
-@XmlType
public class DefaultAuthPolicyCriteriaConf extends AbstractAuthPolicyCriteriaConf {
private static final long serialVersionUID = 3928807032588105869L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
deleted file mode 100644
index d3c7ee7..0000000
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(namespace = SyncopeConstants.NS)
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.policy;
-
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
-
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-
-import java.util.Date;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthModuleTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthModuleTO.java
index 3f499bd..9d4d7f6 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthModuleTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthModuleTO.java
@@ -18,23 +18,15 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.auth.AuthModuleConf;
-@XmlRootElement(name = "authModule")
-@XmlType
-public class AuthModuleTO extends BaseBean implements EntityTO {
+public class AuthModuleTO implements EntityTO {
private static final long serialVersionUID = -7490425997956703057L;
@@ -83,9 +75,6 @@ public class AuthModuleTO extends BaseBean implements EntityTO {
this.conf = conf;
}
- @XmlElementWrapper(name = "items")
- @XmlElement(name = "item")
- @JsonProperty("items")
public List<ItemTO> getItems() {
return items;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthProfileTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthProfileTO.java
index 4c35578..dc4cb2d 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthProfileTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/AuthProfileTO.java
@@ -18,24 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-import org.apache.syncope.common.lib.types.GoogleMfaAuthToken;
-
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.types.GoogleMfaAuthToken;
-@XmlRootElement(name = "authProfile")
-@XmlType
-public class AuthProfileTO extends BaseBean implements EntityTO {
+public class AuthProfileTO implements EntityTO {
private static final long serialVersionUID = -6543425997956703057L;
@@ -64,9 +56,8 @@ public class AuthProfileTO extends BaseBean implements EntityTO {
this.owner = owner;
}
- @XmlElementWrapper(name = "googleMfaAuthTokens")
- @XmlElement(name = "googleMfaAuthTokens")
- @JsonProperty("googleMfaAuthTokens")
+ @JacksonXmlElementWrapper(localName = "googleMfaAuthTokens")
+ @JacksonXmlProperty(localName = "googleMfaAuthToken")
public List<GoogleMfaAuthToken> getGoogleMfaAuthTokens() {
return googleMfaAuthTokens;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/GatewayRouteTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/GatewayRouteTO.java
index aeb8e2d..fe8d987 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/GatewayRouteTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/GatewayRouteTO.java
@@ -18,23 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.GatewayRouteFilter;
import org.apache.syncope.common.lib.types.GatewayRoutePredicate;
import org.apache.syncope.common.lib.types.GatewayRouteStatus;
-@XmlRootElement(name = "gatewayRoute")
-@XmlType
public class GatewayRouteTO implements NamedEntityTO {
private static final long serialVersionUID = 4044528284951757870L;
@@ -90,16 +83,10 @@ public class GatewayRouteTO implements NamedEntityTO {
this.target = target;
}
- @XmlElementWrapper(name = "filters")
- @XmlElement(name = "filter")
- @JsonProperty("filters")
public List<GatewayRouteFilter> getFilters() {
return filters;
}
- @XmlElementWrapper(name = "predicates")
- @XmlElement(name = "predicate")
- @JsonProperty("predicates")
public List<GatewayRoutePredicate> getPredicates() {
return predicates;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2IdPMetadataTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2IdPMetadataTO.java
index 54c0030..e6263b5 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2IdPMetadataTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2IdPMetadataTO.java
@@ -21,13 +21,8 @@ package org.apache.syncope.common.lib.to;
import javax.ws.rs.PathParam;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "saml2idpMetadata")
-@XmlType
-public class SAML2IdPMetadataTO extends BaseBean implements EntityTO {
+public class SAML2IdPMetadataTO implements EntityTO {
private static final long serialVersionUID = 7215073386484048953L;
@@ -178,5 +173,4 @@ public class SAML2IdPMetadataTO extends BaseBean implements EntityTO {
append(appliesTo).
build();
}
-
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPKeystoreTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPKeystoreTO.java
index c3cd496..d2c1fb4 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPKeystoreTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPKeystoreTO.java
@@ -21,15 +21,9 @@ package org.apache.syncope.common.lib.to;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "saml2spMetadataKeystore")
-@XmlType
-public class SAML2SPKeystoreTO extends BaseBean implements EntityTO {
+public class SAML2SPKeystoreTO implements EntityTO {
private static final long serialVersionUID = 3211073386484148953L;
@@ -69,10 +63,10 @@ public class SAML2SPKeystoreTO extends BaseBean implements EntityTO {
@Override
public int hashCode() {
return new HashCodeBuilder().
- append(key).
- append(keystore).
- append(owner).
- build();
+ append(key).
+ append(keystore).
+ append(owner).
+ build();
}
@Override
@@ -88,19 +82,19 @@ public class SAML2SPKeystoreTO extends BaseBean implements EntityTO {
}
SAML2SPKeystoreTO other = (SAML2SPKeystoreTO) obj;
return new EqualsBuilder().
- append(key, other.key).
- append(keystore, other.keystore).
- append(owner, other.owner).
- build();
+ append(key, other.key).
+ append(keystore, other.keystore).
+ append(owner, other.owner).
+ build();
}
@Override
public String toString() {
return new ToStringBuilder(this)
- .appendSuper(super.toString())
- .append("key", key)
- .append("owner", owner)
- .toString();
+ .appendSuper(super.toString())
+ .append("key", key)
+ .append("owner", owner)
+ .toString();
}
public static class Builder {
@@ -121,5 +115,4 @@ public class SAML2SPKeystoreTO extends BaseBean implements EntityTO {
return instance;
}
}
-
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPMetadataTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPMetadataTO.java
index 104b90f..07ae1b7 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPMetadataTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/SAML2SPMetadataTO.java
@@ -21,15 +21,9 @@ package org.apache.syncope.common.lib.to;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "saml2spMetadata")
-@XmlType
-public class SAML2SPMetadataTO extends BaseBean implements EntityTO {
+public class SAML2SPMetadataTO implements EntityTO {
private static final long serialVersionUID = 6215073386484048953L;
@@ -69,10 +63,10 @@ public class SAML2SPMetadataTO extends BaseBean implements EntityTO {
@Override
public int hashCode() {
return new HashCodeBuilder().
- append(key).
- append(metadata).
- append(owner).
- build();
+ append(key).
+ append(metadata).
+ append(owner).
+ build();
}
@Override
@@ -88,22 +82,21 @@ public class SAML2SPMetadataTO extends BaseBean implements EntityTO {
}
SAML2SPMetadataTO other = (SAML2SPMetadataTO) obj;
return new EqualsBuilder().
- append(key, other.key).
- append(metadata, other.metadata).
- append(owner, other.owner).
- build();
+ append(key, other.key).
+ append(metadata, other.metadata).
+ append(owner, other.owner).
+ build();
}
@Override
public String toString() {
return new ToStringBuilder(this)
- .appendSuper(super.toString())
- .append("key", key)
- .append("owner", owner)
- .toString();
+ .appendSuper(super.toString())
+ .append("key", key)
+ .append("owner", owner)
+ .toString();
}
-
public static class Builder {
private final SAML2SPMetadataTO instance = new SAML2SPMetadataTO();
@@ -122,5 +115,4 @@ public class SAML2SPMetadataTO extends BaseBean implements EntityTO {
return instance;
}
}
-
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/ClientAppTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/ClientAppTO.java
index 465b9e7..8700c8c 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/ClientAppTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/ClientAppTO.java
@@ -21,28 +21,22 @@ package org.apache.syncope.common.lib.to.client;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.EntityTO;
-@XmlRootElement(name = "clientApp")
-@XmlType
-@XmlSeeAlso({ OIDCRPTO.class, SAML2SPTO.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class", "key", "description" })
-@Schema(subTypes = { OIDCRPTO.class, SAML2SPTO.class }, discriminatorProperty = "@class")
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class", "key", "description" })
+@Schema(subTypes = { OIDCRPTO.class, SAML2SPTO.class }, discriminatorProperty = "_class")
public abstract class ClientAppTO implements EntityTO {
private static final long serialVersionUID = 6577639976115661357L;
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
private String key;
@@ -59,7 +53,7 @@ public abstract class ClientAppTO implements EntityTO {
private String attrReleasePolicy;
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/OIDCRPTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/OIDCRPTO.java
index e5e92ee..fbecde7 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/OIDCRPTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/OIDCRPTO.java
@@ -19,22 +19,16 @@
package org.apache.syncope.common.lib.to.client;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.OIDCSubjectType;
-@XmlRootElement(name = "oidcrp")
-@XmlType
@Schema(allOf = { ClientAppTO.class })
public class OIDCRPTO extends ClientAppTO {
@@ -56,9 +50,9 @@ public class OIDCRPTO extends ClientAppTO {
private final Set<String> supportedResponseTypes = new HashSet<>();
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.client.OIDCRPTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.client.OIDCRPTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -80,23 +74,14 @@ public class OIDCRPTO extends ClientAppTO {
this.clientSecret = clientSecret;
}
- @XmlElementWrapper(name = "redirectUris")
- @XmlElement(name = "redirectUri")
- @JsonProperty("redirectUris")
public List<String> getRedirectUris() {
return redirectUris;
}
- @XmlElementWrapper(name = "supportedGrantTypes")
- @XmlElement(name = "supportedGrantType")
- @JsonProperty("supportedGrantTypes")
public Set<String> getSupportedGrantTypes() {
return supportedGrantTypes;
}
- @XmlElementWrapper(name = "supportedResponseTypes")
- @XmlElement(name = "supportedResponseType")
- @JsonProperty("supportedResponseTypes")
public Set<String> getSupportedResponseTypes() {
return supportedResponseTypes;
}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/SAML2SPTO.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/SAML2SPTO.java
index 955222a..cdedf9e 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/SAML2SPTO.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/SAML2SPTO.java
@@ -19,16 +19,12 @@
package org.apache.syncope.common.lib.to.client;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.types.SAML2SPNameId;
-@XmlRootElement(name = "saml2SP")
-@XmlType
@Schema(allOf = { ClientAppTO.class })
public class SAML2SPTO extends ClientAppTO {
@@ -60,9 +56,9 @@ public class SAML2SPTO extends ClientAppTO {
private String serviceProviderNameIdQualifier;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.client.SAML2SPTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.client.SAML2SPTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/package-info.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/package-info.java
deleted file mode 100644
index 503eff0..0000000
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/client/package-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(namespace = SyncopeConstants.NS)
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.to.client;
-
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
-
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-
-import java.util.Date;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
deleted file mode 100644
index 54e71ba..0000000
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(namespace = SyncopeConstants.NS)
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.to;
-
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
-
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-
-import java.util.Date;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/ClientAppType.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/ClientAppType.java
index 7f90159..3bf730e 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/ClientAppType.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/ClientAppType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ClientAppType {
SAML2SP,
OIDCRP;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/FilterFactory.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/FilterFactory.java
index e7fd117..5d71698 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/FilterFactory.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/FilterFactory.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum FilterFactory {
ADD_REQUEST_HEADER,
ADD_REQUEST_PARAMETER,
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteFilter.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteFilter.java
index 1b103a5..687b11b 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteFilter.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteFilter.java
@@ -18,15 +18,11 @@
*/
package org.apache.syncope.common.lib.types;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "gatewayRouteFilter")
-@XmlType
-public class GatewayRouteFilter implements Serializable {
+public class GatewayRouteFilter implements BaseBean {
private static final long serialVersionUID = -635785645207375128L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRoutePredicate.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRoutePredicate.java
index 9f26bbe..2c0c3c7 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRoutePredicate.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRoutePredicate.java
@@ -18,15 +18,11 @@
*/
package org.apache.syncope.common.lib.types;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "gatewayRoutePredicate")
-@XmlType
-public class GatewayRoutePredicate implements Serializable {
+public class GatewayRoutePredicate implements BaseBean {
private static final long serialVersionUID = -635785645207375128L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteStatus.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteStatus.java
index ab199e9..5155a1d 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteStatus.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GatewayRouteStatus.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum GatewayRouteStatus {
DRAFT,
STAGING,
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GoogleMfaAuthToken.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GoogleMfaAuthToken.java
index 5812756..8d3ec83 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GoogleMfaAuthToken.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/GoogleMfaAuthToken.java
@@ -16,23 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.syncope.common.lib.types;
+import java.util.Date;
+import java.util.Optional;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+public class GoogleMfaAuthToken implements BaseBean {
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Optional;
-
-@XmlRootElement(name = "googleMfaAuthToken")
-@XmlType
-public class GoogleMfaAuthToken implements Serializable {
private static final long serialVersionUID = 2185073386484048953L;
private String key;
@@ -69,23 +63,23 @@ public class GoogleMfaAuthToken implements Serializable {
public Date getIssueDate() {
return Optional.ofNullable(this.issueDate).
- map(date -> new Date(date.getTime())).orElse(null);
+ map(date -> new Date(date.getTime())).orElse(null);
}
public void setIssueDate(final Date issueDate) {
this.issueDate = Optional.ofNullable(issueDate).
- map(date -> new Date(date.getTime())).orElse(null);
+ map(date -> new Date(date.getTime())).orElse(null);
}
@Override
public int hashCode() {
return new HashCodeBuilder()
- .appendSuper(super.hashCode())
- .append(key)
- .append(token)
- .append(owner)
- .append(issueDate)
- .toHashCode();
+ .appendSuper(super.hashCode())
+ .append(key)
+ .append(token)
+ .append(owner)
+ .append(issueDate)
+ .toHashCode();
}
@Override
@@ -101,24 +95,24 @@ public class GoogleMfaAuthToken implements Serializable {
}
GoogleMfaAuthToken rhs = (GoogleMfaAuthToken) obj;
return new EqualsBuilder()
- .appendSuper(super.equals(obj))
- .append(this.key, rhs.key)
- .append(this.token, rhs.token)
- .append(this.owner, rhs.owner)
- .append(this.issueDate, rhs.issueDate)
- .isEquals();
+ .appendSuper(super.equals(obj))
+ .append(this.key, rhs.key)
+ .append(this.token, rhs.token)
+ .append(this.owner, rhs.owner)
+ .append(this.issueDate, rhs.issueDate)
+ .isEquals();
}
@Override
public String toString() {
return new ToStringBuilder(this)
- .append("key", key)
- .append("token", token)
- .append("owner", owner)
- .append("issueDate", issueDate)
- .toString();
+ .append("key", key)
+ .append("token", token)
+ .append("owner", owner)
+ .append("issueDate", issueDate)
+ .toString();
}
-
+
public static class Builder {
private final GoogleMfaAuthToken instance = new GoogleMfaAuthToken();
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/OIDCSubjectType.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/OIDCSubjectType.java
index 93966a5..9a1caec 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/OIDCSubjectType.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/OIDCSubjectType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum OIDCSubjectType {
PAIRWISE,
PUBLIC
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateCond.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateCond.java
index 12d2704..c62ff78 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateCond.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateCond.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum PredicateCond {
AND,
OR
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateFactory.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateFactory.java
index c1e431f..3c343a2 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateFactory.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/PredicateFactory.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum PredicateFactory {
AFTER,
BEFORE,
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/SAML2SPNameId.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/SAML2SPNameId.java
index d75a68d..a7b60b9 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/SAML2SPNameId.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/types/SAML2SPNameId.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum SAML2SPNameId {
EMAIL_ADDRESS("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"),
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/WAClientApp.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/WAClientApp.java
index 82ab76e..6c2a55f 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/WAClientApp.java
+++ b/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/WAClientApp.java
@@ -18,15 +18,15 @@
*/
package org.apache.syncope.common.lib.wa;
-import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.policy.AccessPolicyConf;
import org.apache.syncope.common.lib.policy.AttrReleasePolicyConf;
import org.apache.syncope.common.lib.policy.AuthPolicyConf;
import org.apache.syncope.common.lib.to.client.ClientAppTO;
-public class WAClientApp implements Serializable {
+public class WAClientApp implements BaseBean {
private static final long serialVersionUID = 6633251825655119506L;
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/package-info.java b/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/package-info.java
deleted file mode 100644
index 988e450..0000000
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/wa/package-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(namespace = SyncopeConstants.NS)
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.wa;
-
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
-
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-
-import java.util.Date;
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java b/common/am/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
similarity index 72%
copy from common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java
copy to common/am/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
index 41b1e4a..14d547d 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java
+++ b/common/am/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
@@ -16,21 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.common.lib.types;
+package org.apache.syncope.common.lib;
-import javax.xml.bind.annotation.XmlEnum;
+import com.fasterxml.jackson.databind.ObjectMapper;
-/**
- * Enum of all possible capabilities that a connector instance can expose.
- */
-@XmlEnum
-public enum ConnectorCapability {
+public class JSONTest extends SerializationTest {
- AUTHENTICATE,
- CREATE,
- UPDATE,
- DELETE,
- SEARCH,
- SYNC;
+ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+ @Override
+ protected ObjectMapper objectMapper() {
+ return OBJECT_MAPPER;
+ }
}
diff --git a/common/am/lib/src/test/java/org/apache/syncope/common/lib/SerializationTest.java b/common/am/lib/src/test/java/org/apache/syncope/common/lib/SerializationTest.java
new file mode 100644
index 0000000..28ac120
--- /dev/null
+++ b/common/am/lib/src/test/java/org/apache/syncope/common/lib/SerializationTest.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.syncope.common.lib;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.Set;
+import org.apache.syncope.common.lib.policy.AccessPolicyTO;
+import org.apache.syncope.common.lib.policy.DefaultAccessPolicyConf;
+import org.junit.jupiter.api.Test;
+
+public abstract class SerializationTest {
+
+ protected abstract ObjectMapper objectMapper();
+
+ @Test
+ public void accessPolicyConf() throws IOException {
+ AccessPolicyTO policy = new AccessPolicyTO();
+ policy.setDescription("Test Access policy");
+
+ DefaultAccessPolicyConf conf = new DefaultAccessPolicyConf();
+ conf.setEnabled(true);
+ conf.setName("TestAccessPolicyConf");
+ conf.addRequiredAttr("cn", Set.of("admin", "Admin", "TheAdmin"));
+ policy.setConf(conf);
+
+ StringWriter writer = new StringWriter();
+ objectMapper().writeValue(writer, policy);
+
+ AccessPolicyTO actual = objectMapper().readValue(writer.toString(), AccessPolicyTO.class);
+ assertEquals(policy, actual);
+ }
+}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/package-info.java b/common/am/lib/src/test/java/org/apache/syncope/common/lib/XMLTest.java
similarity index 50%
rename from common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/package-info.java
rename to common/am/lib/src/test/java/org/apache/syncope/common/lib/XMLTest.java
index 9b680ce..25f2a2a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/package-info.java
+++ b/common/am/lib/src/test/java/org/apache/syncope/common/lib/XMLTest.java
@@ -16,12 +16,29 @@
* specific language governing permissions and limitations
* under the License.
*/
-@XmlSchema(namespace = SyncopeConstants.NS)
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
package org.apache.syncope.common.lib;
-import java.util.Date;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class XMLTest extends SerializationTest {
+
+ private static final XmlMapper XML_MAPPER;
+
+ static {
+ XML_MAPPER = new XmlMapper();
+ XML_MAPPER.configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ XML_MAPPER.configOverride(Set.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ XML_MAPPER.configOverride(Map.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ }
+
+ @Override
+ protected ObjectMapper objectMapper() {
+ return XML_MAPPER;
+ }
+}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java b/common/am/lib/src/test/java/org/apache/syncope/common/lib/YAMLTest.java
similarity index 69%
copy from common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
copy to common/am/lib/src/test/java/org/apache/syncope/common/lib/YAMLTest.java
index 85c3d28..5ff4900 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
+++ b/common/am/lib/src/test/java/org/apache/syncope/common/lib/YAMLTest.java
@@ -16,21 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.common.lib.log;
+package org.apache.syncope.common.lib;
-import java.io.Serializable;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
-public class LogAppender implements Serializable {
+public class YAMLTest extends SerializationTest {
- private static final long serialVersionUID = 5975199884460548302L;
+ private static final YAMLMapper YAML_MAPPER = new YAMLMapper();
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
+ @Override
+ protected ObjectMapper objectMapper() {
+ return YAML_MAPPER;
}
}
diff --git a/common/am/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/wa/GoogleMfaAuthTokenService.java b/common/am/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/wa/GoogleMfaAuthTokenService.java
index 88e8fba..f8fdfe6 100644
--- a/common/am/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/wa/GoogleMfaAuthTokenService.java
+++ b/common/am/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/wa/GoogleMfaAuthTokenService.java
@@ -30,7 +30,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.Date;
-import java.util.List;
import io.swagger.v3.oas.annotations.headers.Header;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -38,6 +37,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.security.SecurityRequirements;
import io.swagger.v3.oas.annotations.tags.Tag;
+import org.apache.syncope.common.lib.to.PagedResult;
import org.apache.syncope.common.lib.types.GoogleMfaAuthToken;
import org.apache.syncope.common.rest.api.RESTHeaders;
import org.apache.syncope.common.rest.api.service.JAXRSService;
@@ -103,7 +103,7 @@ public interface GoogleMfaAuthTokenService extends JAXRSService {
@Consumes({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML })
@Path("tokens/owners/${owner}")
- List<GoogleMfaAuthToken> findTokensFor(@NotNull @PathParam("owner") String owner);
+ PagedResult<GoogleMfaAuthToken> findTokensFor(@NotNull @PathParam("owner") String owner);
@GET
@Path("tokens/{key}")
@@ -114,12 +114,6 @@ public interface GoogleMfaAuthTokenService extends JAXRSService {
@GET
@Consumes({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML })
- @Path("tokens/${owner}/count")
- long countTokensForOwner(@NotNull @PathParam("owner") String owner);
-
- @GET
- @Consumes({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML })
- @Produces({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML })
@Path("tokens/count")
- long countTokens();
+ PagedResult<GoogleMfaAuthToken> countTokens();
}
diff --git a/common/idm/lib/pom.xml b/common/idm/lib/pom.xml
index 6d778d3..c3b9d03 100644
--- a/common/idm/lib/pom.xml
+++ b/common/idm/lib/pom.xml
@@ -43,17 +43,6 @@ under the License.
<artifactId>syncope-common-idrepo-lib</artifactId>
<version>${project.version}</version>
</dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnBundleTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnBundleTO.java
index 0809960..0b0911b 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnBundleTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnBundleTO.java
@@ -18,19 +18,14 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.ConnConfPropSchema;
-@XmlRootElement(name = "connectorBundle")
-@XmlType
-public class ConnBundleTO implements Serializable {
+public class ConnBundleTO implements BaseBean {
private static final long serialVersionUID = 7215115961910138005L;
@@ -78,9 +73,8 @@ public class ConnBundleTO implements Serializable {
this.connectorName = connectorName;
}
- @XmlElementWrapper(name = "properties")
- @XmlElement(name = "connConfPropSchema")
- @JsonProperty("properties")
+ @JacksonXmlElementWrapper(localName = "properties")
+ @JacksonXmlProperty(localName = "connConfPropSchema")
public List<ConnConfPropSchema> getProperties() {
return properties;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnIdObjectClassTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnIdObjectClassTO.java
index feba9d0..93b4a4f 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnIdObjectClassTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnIdObjectClassTO.java
@@ -18,21 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
/**
* Metadata description of ConnId ObjectClass.
*/
-@XmlRootElement(name = "connIdObjectClass")
-@XmlType
-public class ConnIdObjectClassTO implements Serializable {
+public class ConnIdObjectClassTO implements BaseBean {
private static final long serialVersionUID = -3719658595689434648L;
@@ -68,9 +63,8 @@ public class ConnIdObjectClassTO implements Serializable {
this.auxiliary = auxiliary;
}
- @XmlElementWrapper(name = "attributes")
- @XmlElement(name = "attribute")
- @JsonProperty("attributes")
+ @JacksonXmlElementWrapper(localName = "attributes")
+ @JacksonXmlProperty(localName = "attribute")
public List<PlainSchemaTO> getAttributes() {
return attributes;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
index d2724f0..08f93ad 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
@@ -19,24 +19,19 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.syncope.common.lib.types.ConnectorCapability;
-@XmlRootElement(name = "connInstance")
-@XmlType
public class ConnInstanceTO implements EntityTO {
private static final long serialVersionUID = 2707778645445168671L;
@@ -114,9 +109,8 @@ public class ConnInstanceTO implements EntityTO {
this.version = version;
}
- @XmlElementWrapper(name = "conf")
- @XmlElement(name = "property")
- @JsonProperty("conf")
+ @JacksonXmlElementWrapper(localName = "conf")
+ @JacksonXmlProperty(localName = "property")
public List<ConnConfProperty> getConf() {
return this.conf;
}
@@ -126,9 +120,8 @@ public class ConnInstanceTO implements EntityTO {
return conf.stream().filter(property -> property.getSchema().getName().equals(schemaName)).findFirst();
}
- @XmlElementWrapper(name = "capabilities")
- @XmlElement(name = "capability")
- @JsonProperty("capabilities")
+ @JacksonXmlElementWrapper(localName = "capabilities")
+ @JacksonXmlProperty(localName = "capability")
public Set<ConnectorCapability> getCapabilities() {
return capabilities;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java
index d77bcf0..3ac8231 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ConnPoolConfTO.java
@@ -18,15 +18,11 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "connPoolConf")
-@XmlType
-public class ConnPoolConfTO implements Serializable {
+public class ConnPoolConfTO implements BaseBean {
private static final long serialVersionUID = -214360178113476623L;
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java
index 3fe44e7..c29246a 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/MappingTO.java
@@ -18,22 +18,15 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "mapping")
-@XmlType
-public class MappingTO implements ItemContainerTO, Serializable {
+public class MappingTO implements ItemContainerTO {
private static final long serialVersionUID = 8447688036282611118L;
@@ -66,12 +59,11 @@ public class MappingTO implements ItemContainerTO, Serializable {
@Override
public boolean setConnObjectKeyItem(final ItemTO connObjectKeyItem) {
return Optional.ofNullable(connObjectKeyItem)
- .map(this::addConnObjectKeyItem).orElseGet(() -> remove(getConnObjectKeyItem()));
+ .map(this::addConnObjectKeyItem).orElseGet(() -> remove(getConnObjectKeyItem()));
}
- @XmlElementWrapper(name = "items")
- @XmlElement(name = "item")
- @JsonProperty("items")
+ @JacksonXmlElementWrapper(localName = "items")
+ @JacksonXmlProperty(localName = "item")
@Override
public List<ItemTO> getItems() {
return items;
@@ -80,16 +72,15 @@ public class MappingTO implements ItemContainerTO, Serializable {
@Override
public boolean add(final ItemTO item) {
return Optional.ofNullable(item)
- .filter(itemTO -> this.items.contains(itemTO) || this.items.add(itemTO)).isPresent();
+ .filter(itemTO -> this.items.contains(itemTO) || this.items.add(itemTO)).isPresent();
}
public boolean remove(final ItemTO item) {
return this.items.remove(item);
}
- @XmlElementWrapper(name = "linkingItems")
- @XmlElement(name = "item")
- @JsonProperty("linkingItems")
+ @JacksonXmlElementWrapper(localName = "linkingItems")
+ @JacksonXmlProperty(localName = "linkingItem")
public List<ItemTO> getLinkingItems() {
return linkingItems;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java
index 758f28d..29cf761 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/OrgUnitTO.java
@@ -18,20 +18,14 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "orgUnit")
-@XmlType
public class OrgUnitTO implements EntityTO, ItemContainerTO {
private static final long serialVersionUID = -1868877794174953177L;
@@ -105,12 +99,11 @@ public class OrgUnitTO implements EntityTO, ItemContainerTO {
@Override
public boolean setConnObjectKeyItem(final ItemTO connObjectKeyItem) {
return Optional.ofNullable(connObjectKeyItem)
- .map(this::addConnObjectKeyItem).orElseGet(() -> remove(getConnObjectKeyItem()));
+ .map(this::addConnObjectKeyItem).orElseGet(() -> remove(getConnObjectKeyItem()));
}
- @XmlElementWrapper(name = "items")
- @XmlElement(name = "item")
- @JsonProperty("items")
+ @JacksonXmlElementWrapper(localName = "items")
+ @JacksonXmlProperty(localName = "item")
@Override
public List<ItemTO> getItems() {
return items;
@@ -119,7 +112,7 @@ public class OrgUnitTO implements EntityTO, ItemContainerTO {
@Override
public boolean add(final ItemTO item) {
return Optional.ofNullable(item)
- .filter(itemTO -> this.items.contains(itemTO) || this.items.add(itemTO)).isPresent();
+ .filter(itemTO -> this.items.contains(itemTO) || this.items.add(itemTO)).isPresent();
}
public boolean remove(final ItemTO item) {
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/PagedConnObjectTOResult.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/PagedConnObjectTOResult.java
index 8aece80..57e2d1f 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/PagedConnObjectTOResult.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/PagedConnObjectTOResult.java
@@ -18,21 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "pagedConnObjectResult")
-@XmlType
-public class PagedConnObjectTOResult implements Serializable {
+public class PagedConnObjectTOResult implements BaseBean {
private static final long serialVersionUID = -2832908019064402976L;
@@ -112,9 +107,8 @@ public class PagedConnObjectTOResult implements Serializable {
this.allResultsReturned = allResultsReturned;
}
- @XmlElementWrapper(name = "result")
- @XmlElement(name = "item")
- @JsonProperty("result")
+ @JacksonXmlElementWrapper(localName = "result")
+ @JacksonXmlProperty(localName = "item")
public List<ConnObjectTO> getResult() {
return result;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java
index 2e57792..fb1190e 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisionTO.java
@@ -18,18 +18,13 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "provision")
-@XmlType
public class ProvisionTO implements EntityTO {
private static final long serialVersionUID = 8298910216218007927L;
@@ -78,9 +73,8 @@ public class ProvisionTO implements EntityTO {
this.objectClass = objectClass;
}
- @XmlElementWrapper(name = "auxClasses")
- @XmlElement(name = "class")
- @JsonProperty("auxClasses")
+ @JacksonXmlElementWrapper(localName = "auxClasses")
+ @JacksonXmlProperty(localName = "class")
public List<String> getAuxClasses() {
return auxClasses;
}
@@ -117,9 +111,8 @@ public class ProvisionTO implements EntityTO {
this.mapping = mapping;
}
- @XmlElementWrapper(name = "virSchemas")
- @XmlElement(name = "virSchema")
- @JsonProperty("virSchemas")
+ @JacksonXmlElementWrapper(localName = "virSchemas")
+ @JacksonXmlProperty(localName = "virSchema")
public List<String> getVirSchemas() {
return virSchemas;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningReport.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningReport.java
index a23745a..7ca1a57 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningReport.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningReport.java
@@ -18,23 +18,17 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
import java.util.Collection;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.ResourceOperation;
import org.apache.syncope.common.lib.types.TraceLevel;
-@XmlRootElement(name = "provisioningReport")
-@XmlType
-public class ProvisioningReport implements Serializable {
+public class ProvisioningReport implements BaseBean {
private static final long serialVersionUID = 9201119472070963385L;
- @XmlEnum
public enum Status {
SUCCESS,
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ReconStatus.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ReconStatus.java
index a78f4b2..eb4bd15 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ReconStatus.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ReconStatus.java
@@ -19,18 +19,14 @@
package org.apache.syncope.common.lib.to;
import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.MatchType;
/**
* Reconciliation status.
*/
-@XmlRootElement(name = "reconStatus")
-@XmlType
-public class ReconStatus implements Serializable {
+public class ReconStatus implements BaseBean {
private static final long serialVersionUID = -8516345256596521490L;
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/RemediationTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/RemediationTO.java
index 0cdd033..8f7528a 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/RemediationTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/RemediationTO.java
@@ -21,18 +21,12 @@ package org.apache.syncope.common.lib.to;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import java.util.Optional;
-
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.request.AnyCR;
import org.apache.syncope.common.lib.request.AnyUR;
import org.apache.syncope.common.lib.types.ResourceOperation;
-@XmlRootElement(name = "remediation")
-@XmlType
-public class RemediationTO extends BaseBean implements EntityTO {
+public class RemediationTO implements EntityTO {
private static final long serialVersionUID = 3983540425142284975L;
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
index 945ab80..344b0a6 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
@@ -19,25 +19,18 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.syncope.common.lib.types.ConnectorCapability;
import org.apache.syncope.common.lib.types.TraceLevel;
-@XmlRootElement(name = "resource")
-@XmlType
public class ResourceTO implements EntityTO {
private static final long serialVersionUID = -9193551354041698963L;
@@ -232,9 +225,6 @@ public class ResourceTO implements EntityTO {
findFirst();
}
- @XmlElementWrapper(name = "provisions")
- @XmlElement(name = "provision")
- @JsonProperty("provisions")
public List<ProvisionTO> getProvisions() {
return provisions;
}
@@ -247,9 +237,6 @@ public class ResourceTO implements EntityTO {
this.orgUnit = orgUnit;
}
- @XmlElementWrapper(name = "confOverride")
- @XmlElement(name = "property")
- @JsonProperty("confOverride")
public List<ConnConfProperty> getConfOverride() {
return confOverride;
}
@@ -262,9 +249,6 @@ public class ResourceTO implements EntityTO {
this.overrideCapabilities = overrideCapabilities;
}
- @XmlElementWrapper(name = "capabilitiesOverride")
- @XmlElement(name = "capability")
- @JsonProperty("capabilitiesOverride")
public Set<ConnectorCapability> getCapabilitiesOverride() {
return capabilitiesOverride;
}
@@ -277,9 +261,6 @@ public class ResourceTO implements EntityTO {
this.provisioningTraceLevel = provisioningTraceLevel;
}
- @XmlElementWrapper(name = "propagationActions")
- @XmlElement(name = "propagationAction")
- @JsonProperty("propagationActions")
public List<String> getPropagationActions() {
return propagationActions;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfPropSchema.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfPropSchema.java
index 7bdcbbd..e2c7a2e 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfPropSchema.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfPropSchema.java
@@ -18,20 +18,15 @@
*/
package org.apache.syncope.common.lib.types;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement
-@XmlType
-public class ConnConfPropSchema implements Serializable, Comparable<ConnConfPropSchema> {
+public class ConnConfPropSchema implements BaseBean, Comparable<ConnConfPropSchema> {
private static final long serialVersionUID = -1976365781005801296L;
@@ -107,9 +102,8 @@ public class ConnConfPropSchema implements Serializable, Comparable<ConnConfProp
this.confidential = confidential;
}
- @XmlElementWrapper(name = "defaultValues")
- @XmlElement(name = "defaultValue")
- @JsonProperty("defaultValues")
+ @JacksonXmlElementWrapper(localName = "defaultValues")
+ @JacksonXmlProperty(localName = "defaultValue")
public List<Object> getDefaultValues() {
return defaultValues;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfProperty.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfProperty.java
index 111d4a1..b9a931d 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfProperty.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnConfProperty.java
@@ -18,21 +18,16 @@
*/
package org.apache.syncope.common.lib.types;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement
-@XmlType
-public class ConnConfProperty implements Serializable, Comparable<ConnConfProperty> {
+public class ConnConfProperty implements BaseBean, Comparable<ConnConfProperty> {
private static final long serialVersionUID = -8391413960221862238L;
@@ -50,9 +45,8 @@ public class ConnConfProperty implements Serializable, Comparable<ConnConfProper
this.schema = schema;
}
- @XmlElementWrapper(name = "values")
- @XmlElement(name = "value")
- @JsonProperty("values")
+ @JacksonXmlElementWrapper(localName = "values")
+ @JacksonXmlProperty(localName = "value")
public List<Object> getValues() {
return values;
}
diff --git a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java
index 41b1e4a..1abf35f 100644
--- a/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java
+++ b/common/idm/lib/src/main/java/org/apache/syncope/common/lib/types/ConnectorCapability.java
@@ -18,12 +18,9 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
/**
* Enum of all possible capabilities that a connector instance can expose.
*/
-@XmlEnum
public enum ConnectorCapability {
AUTHENTICATE,
diff --git a/common/idm/lib/src/test/java/org/apache/syncope/common/lib/JAXBTest.java b/common/idm/lib/src/test/java/org/apache/syncope/common/lib/JAXBTest.java
deleted file mode 100644
index 3efa2a2..0000000
--- a/common/idm/lib/src/test/java/org/apache/syncope/common/lib/JAXBTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.syncope.common.lib;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.UUID;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import org.apache.syncope.common.lib.to.ConnObjectTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.PropagationStatus;
-import org.apache.syncope.common.lib.to.ProvisioningResult;
-import org.junit.jupiter.api.Test;
-
-public class JAXBTest {
-
- @Test
- public void provisioningResult() throws JAXBException {
- JAXBContext context = JAXBContext.newInstance(ProvisioningResult.class);
- Marshaller marshaller = context.createMarshaller();
- Unmarshaller unmarshaller = context.createUnmarshaller();
-
- GroupTO group = new GroupTO();
- group.setName(UUID.randomUUID().toString());
- group.setRealm(SyncopeConstants.ROOT_REALM);
- group.getVirAttrs().add(new Attr.Builder("rvirtualdata").value("rvirtualvalue").build());
- group.getADynMembershipConds().put("USER", "username==a*");
-
- ProvisioningResult<GroupTO> original = new ProvisioningResult<>();
- original.setEntity(group);
-
- PropagationStatus status = new PropagationStatus();
- status.setFailureReason("failed");
- status.setBeforeObj(new ConnObjectTO());
- original.getPropagationStatuses().add(status);
-
- StringWriter writer = new StringWriter();
- marshaller.marshal(original, writer);
-
- Object actual = unmarshaller.unmarshal(new StringReader(writer.toString()));
- assertEquals(original, actual);
- }
-}
diff --git a/common/idm/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java b/common/idm/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
deleted file mode 100644
index ec2e89b..0000000
--- a/common/idm/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.syncope.common.lib;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.UUID;
-import org.apache.syncope.common.lib.to.ConnObjectTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.PropagationStatus;
-import org.apache.syncope.common.lib.to.ProvisioningResult;
-import org.junit.jupiter.api.Test;
-
-public class JSONTest {
-
- @Test
- public void provisioningResult() throws IOException {
- GroupTO group = new GroupTO();
- group.setName(UUID.randomUUID().toString());
- group.setRealm(SyncopeConstants.ROOT_REALM);
- group.getVirAttrs().add(new Attr.Builder("rvirtualdata").value("rvirtualvalue").build());
- group.getADynMembershipConds().put("USER", "username==a*");
-
- ProvisioningResult<GroupTO> original = new ProvisioningResult<>();
- original.setEntity(group);
-
- PropagationStatus status = new PropagationStatus();
- status.setFailureReason("failed");
- status.setBeforeObj(new ConnObjectTO());
- original.getPropagationStatuses().add(status);
-
- ObjectMapper mapper = new ObjectMapper();
-
- StringWriter writer = new StringWriter();
- mapper.writeValue(writer, original);
-
- ProvisioningResult<GroupTO> actual = mapper.readValue(writer.toString(),
- new TypeReference<ProvisioningResult<GroupTO>>() {
- });
- assertEquals(original, actual);
- }
-}
diff --git a/common/idrepo/lib/pom.xml b/common/idrepo/lib/pom.xml
index 6057ed3..8c57f6b 100644
--- a/common/idrepo/lib/pom.xml
+++ b/common/idrepo/lib/pom.xml
@@ -51,12 +51,14 @@ under the License.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
- </dependency>
-
+ </dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<dependency>
@@ -74,11 +76,6 @@ under the License.
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/Attr.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/Attr.java
index 88ec261..a555bff 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/Attr.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/Attr.java
@@ -19,21 +19,16 @@
package org.apache.syncope.common.lib;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "attr")
-@XmlType
-public class Attr implements Serializable {
+public class Attr implements BaseBean {
private static final long serialVersionUID = 4941691338796323623L;
@@ -79,7 +74,6 @@ public class Attr implements Serializable {
* @return the name of the schema that this attribute is referring to
*/
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getSchema() {
return schema;
}
@@ -96,9 +90,9 @@ public class Attr implements Serializable {
/**
* @return attribute values as strings
*/
- @XmlElementWrapper(name = "values", required = true)
- @XmlElement(name = "value", required = true)
- @JsonProperty(value = "values", required = true)
+ @JacksonXmlElementWrapper(localName = "values")
+ @JacksonXmlProperty(localName = "value")
+ @JsonProperty(required = true)
public List<String> getValues() {
return values;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/BaseBean.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/BaseBean.java
index f3d603b..3ff56bd 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/BaseBean.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/BaseBean.java
@@ -19,18 +19,7 @@
package org.apache.syncope.common.lib;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import org.apache.syncope.common.lib.log.AuditEntry;
-import org.apache.syncope.common.lib.to.AbstractStartEndBean;
-import org.apache.syncope.common.lib.to.AccessTokenTO;
-import org.apache.syncope.common.lib.to.AnyTO;
-import org.apache.syncope.common.lib.to.RealmTO;
-@XmlType
-@XmlSeeAlso({ AbstractStartEndBean.class, AccessTokenTO.class, AuditEntry.class, AnyTO.class, RealmTO.class })
-public abstract class BaseBean implements Serializable {
-
- private static final long serialVersionUID = 8243277089603485380L;
+public interface BaseBean extends Serializable {
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
index d0db694..6f5843a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
@@ -23,10 +23,6 @@ import java.util.regex.Pattern;
public final class SyncopeConstants {
- public static final String NS_PREFIX = "syncope30";
-
- public static final String NS = "http://syncope.apache.org/3.0";
-
public static final String MASTER_DOMAIN = "Master";
public static final String ROOT_REALM = "/";
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/JavaImplInfo.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/JavaImplInfo.java
index df5579a..379df8c 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/JavaImplInfo.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/JavaImplInfo.java
@@ -18,18 +18,13 @@
*/
package org.apache.syncope.common.lib.info;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.HashSet;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "javaImplInfo")
-@XmlType
-public class JavaImplInfo implements Serializable {
+public class JavaImplInfo implements BaseBean {
private static final long serialVersionUID = 4036793959111794959L;
@@ -45,9 +40,8 @@ public class JavaImplInfo implements Serializable {
this.type = type;
}
- @XmlElementWrapper(name = "classes")
- @XmlElement(name = "class")
- @JsonProperty("classes")
+ @JacksonXmlElementWrapper(localName = "classes")
+ @JacksonXmlProperty(localName = "class")
public Set<String> getClasses() {
return classes;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/NumbersInfo.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/NumbersInfo.java
index 4ed088f..a2a0874 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/NumbersInfo.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/NumbersInfo.java
@@ -18,26 +18,16 @@
*/
package org.apache.syncope.common.lib.info;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "numbersInfo")
-@XmlType
-public class NumbersInfo implements Serializable {
+public class NumbersInfo implements BaseBean {
private static final long serialVersionUID = 7691187370598649583L;
- @XmlEnum
- @XmlType(name = "confItem")
public enum ConfItem {
RESOURCE(20),
@@ -67,8 +57,6 @@ public class NumbersInfo implements Serializable {
}
}
- @XmlRootElement(name = "taskExecutorInfo")
- @XmlType
public class TaskExecutorInfo {
private int size;
@@ -144,36 +132,30 @@ public class NumbersInfo implements Serializable {
private int totalUsers;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, Integer> usersByRealm = new HashMap<>();
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, Integer> usersByStatus = new HashMap<>();
private int totalGroups;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, Integer> groupsByRealm = new HashMap<>();
private String anyType1;
private Integer totalAny1;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, Integer> any1ByRealm = new HashMap<>();
private String anyType2;
private Integer totalAny2;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, Integer> any2ByRealm = new HashMap<>();
private int totalResources;
private int totalRoles;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, Boolean> confCompleteness = new HashMap<>();
private final TaskExecutorInfo asyncConnectorExecutor = new TaskExecutorInfo();
@@ -244,32 +226,26 @@ public class NumbersInfo implements Serializable {
this.totalRoles = totalRoles;
}
- @JsonProperty
public Map<String, Integer> getUsersByRealm() {
return usersByRealm;
}
- @JsonProperty
public Map<String, Integer> getUsersByStatus() {
return usersByStatus;
}
- @JsonProperty
public Map<String, Integer> getGroupsByRealm() {
return groupsByRealm;
}
- @JsonProperty
public Map<String, Integer> getAny1ByRealm() {
return any1ByRealm;
}
- @JsonProperty
public Map<String, Integer> getAny2ByRealm() {
return any2ByRealm;
}
- @JsonProperty
public Map<String, Boolean> getConfCompleteness() {
return confCompleteness;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/PlatformInfo.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/PlatformInfo.java
index c67e280..380fd28 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/PlatformInfo.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/PlatformInfo.java
@@ -19,27 +19,20 @@
package org.apache.syncope.common.lib.info;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "platformInfo")
-@XmlType
-public class PlatformInfo implements Serializable {
+public class PlatformInfo implements BaseBean {
private static final long serialVersionUID = -7941853999417673827L;
- @XmlRootElement(name = "provisioningInfo")
- @XmlType
- public static class ProvisioningInfo implements Serializable {
+ public static class ProvisioningInfo implements BaseBean {
private static final long serialVersionUID = 533340357732839568L;
@@ -114,9 +107,7 @@ public class PlatformInfo implements Serializable {
}
}
- @XmlRootElement(name = "workflowInfo")
- @XmlType
- public static class WorkflowInfo implements Serializable {
+ public static class WorkflowInfo implements BaseBean {
private static final long serialVersionUID = 6736937721099195324L;
@@ -151,9 +142,7 @@ public class PlatformInfo implements Serializable {
}
}
- @XmlRootElement(name = "persistenceInfo")
- @XmlType
- public static class PersistenceInfo implements Serializable {
+ public static class PersistenceInfo implements BaseBean {
private static final long serialVersionUID = 2902980556801069487L;
@@ -316,9 +305,8 @@ public class PlatformInfo implements Serializable {
return pwdResetRequiringSecurityQuestions;
}
- @XmlElementWrapper(name = "connIdLocations")
- @XmlElement(name = "connIdLocation")
- @JsonProperty("connIdLocations")
+ @JacksonXmlElementWrapper(localName = "connIdLocations")
+ @JacksonXmlProperty(localName = "connIdLocation")
public Set<String> getConnIdLocations() {
return connIdLocations;
}
@@ -331,44 +319,38 @@ public class PlatformInfo implements Serializable {
this.passwordGenerator = passwordGenerator;
}
- @XmlElementWrapper(name = "anyTypes")
- @XmlElement(name = "anyType")
- @JsonProperty("anyTypes")
+ @JacksonXmlElementWrapper(localName = "anyTypes")
+ @JacksonXmlProperty(localName = "anyType")
public List<String> getAnyTypes() {
return anyTypes;
}
- @XmlElementWrapper(name = "userClasses")
- @XmlElement(name = "userClass")
- @JsonProperty("userClasses")
+ @JacksonXmlElementWrapper(localName = "userClasses")
+ @JacksonXmlProperty(localName = "userClass")
public List<String> getUserClasses() {
return userClasses;
}
- @XmlElementWrapper(name = "anyTypeClasses")
- @XmlElement(name = "anyTypeClass")
- @JsonProperty("anyTypeClasses")
+ @JacksonXmlElementWrapper(localName = "anyTypeClasses")
+ @JacksonXmlProperty(localName = "anyTypeClass")
public List<String> getAnyTypeClasses() {
return anyTypeClasses;
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
+ @JacksonXmlElementWrapper(localName = "resources")
+ @JacksonXmlProperty(localName = "resource")
public List<String> getResources() {
return resources;
}
- @XmlElementWrapper(name = "entitlements")
- @XmlElement(name = "entitlement")
- @JsonProperty("entitlements")
+ @JacksonXmlElementWrapper(localName = "entitlements")
+ @JacksonXmlProperty(localName = "entitlement")
public Set<String> getEntitlements() {
return entitlements;
}
- @XmlElementWrapper(name = "implementationTypes")
- @XmlElement(name = "implementationType")
- @JsonProperty("implementationTypes")
+ @JacksonXmlElementWrapper(localName = "implementationTypes")
+ @JacksonXmlProperty(localName = "implementationType")
public Set<String> getImplementationTypes() {
return implementationTypes;
}
@@ -378,9 +360,8 @@ public class PlatformInfo implements Serializable {
return javaImplInfos.stream().filter(javaImplInfo -> javaImplInfo.getType().equals(type)).findFirst();
}
- @XmlElementWrapper(name = "javaImplInfos")
- @XmlElement(name = "javaImplInfo")
- @JsonProperty("javaImplInfos")
+ @JacksonXmlElementWrapper(localName = "javaImplInfos")
+ @JacksonXmlProperty(localName = "javaImplInfo")
public Set<JavaImplInfo> getJavaImplInfos() {
return javaImplInfos;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/SystemInfo.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/SystemInfo.java
index 5d12ad1..2f44796 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/SystemInfo.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/SystemInfo.java
@@ -18,18 +18,11 @@
*/
package org.apache.syncope.common.lib.info;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
import java.util.Queue;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.collections.CircularFifoQueue;
-@XmlRootElement(name = "systemInfo")
-@XmlType
-public class SystemInfo implements Serializable {
+public class SystemInfo implements BaseBean {
private static final long serialVersionUID = -352727968865892499L;
@@ -85,16 +78,11 @@ public class SystemInfo implements Serializable {
this.startTime = startTime;
}
- @XmlElementWrapper(name = "load")
- @XmlElement(name = "instant")
- @JsonProperty("load")
public Queue<LoadInstant> getLoad() {
return load;
}
- @XmlRootElement(name = "loadInstant")
- @XmlType
- public static class LoadInstant implements Serializable {
+ public static class LoadInstant implements BaseBean {
private static final long serialVersionUID = 1700788373758716478L;
@@ -148,5 +136,4 @@ public class SystemInfo implements Serializable {
this.maxMemory = maxMemory;
}
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java
deleted file mode 100644
index 4093ba3..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.info;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/DateAdapter.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/DateAdapter.java
deleted file mode 100644
index f6d481d..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/DateAdapter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.syncope.common.lib.jaxb;
-
-import java.util.Date;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-import org.apache.commons.lang3.time.FastDateFormat;
-
-public class DateAdapter extends XmlAdapter<String, Date> {
-
- private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
-
- @Override
- public Date unmarshal(final String value) throws Exception {
- return FastDateFormat.getInstance(DATE_FORMAT).parse(value);
- }
-
- @Override
- public String marshal(final Date value) throws Exception {
- return FastDateFormat.getInstance(DATE_FORMAT).format(value);
- }
-}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/EntityTOType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/EntityTOType.java
deleted file mode 100644
index 95ad262..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/EntityTOType.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.syncope.common.lib.jaxb;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import org.apache.syncope.common.lib.to.AnyObjectTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.RealmTO;
-import org.apache.syncope.common.lib.to.UserTO;
-
-@XmlSeeAlso({ UserTO.class, GroupTO.class, AnyObjectTO.class, RealmTO.class })
-@XmlAccessorType(XmlAccessType.PROPERTY)
-public class EntityTOType {
-
- @XmlEnum
- public enum Type {
- USER,
- GROUP,
- ANY_OBJECT,
- REALM
-
- }
-
- private Type type;
-
- private Object value;
-
- public Type getType() {
- return type;
- }
-
- public void setType(final Type type) {
- this.type = type;
- }
-
- public Object getValue() {
- return value;
- }
-
- public void setValue(final Object value) {
- this.value = value;
- }
-
-}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/GenericMapEntryType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/GenericMapEntryType.java
deleted file mode 100644
index a418837..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/GenericMapEntryType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2011 John Yeary <jy...@bluelotussoftware.com>.
- * Copyright 2011 Bluelotus Software, LLC.
- *
- * 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 org.apache.syncope.common.lib.jaxb;
-
-import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-
-@XmlAccessorType(XmlAccessType.PROPERTY)
-public class GenericMapEntryType<K, V> {
-
- private K key;
-
- private V value;
-
- public GenericMapEntryType() {
- }
-
- public GenericMapEntryType(final Map.Entry<K, V> e) {
- key = e.getKey();
- value = e.getValue();
- }
-
- @XmlElement
- public K getKey() {
- return key;
- }
-
- public void setKey(final K key) {
- this.key = key;
- }
-
- @XmlElement
- public V getValue() {
- return value;
- }
-
- public void setValue(final V value) {
- this.value = value;
- }
-}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/GenericMapType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/GenericMapType.java
deleted file mode 100644
index 48dca0b..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/GenericMapType.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2011 John Yeary <jy...@bluelotussoftware.com>.
- * Copyright 2011 Bluelotus Software, LLC.
- *
- * 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 org.apache.syncope.common.lib.jaxb;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class GenericMapType<K, V> {
-
- private final List<GenericMapEntryType<K, V>> entry = new ArrayList<>();
-
- public GenericMapType() {
- }
-
- public GenericMapType(final Map<K, V> map) {
- map.entrySet().forEach(e -> entry.add(new GenericMapEntryType<>(e)));
- }
-
- public List<GenericMapEntryType<K, V>> getEntry() {
- return entry;
- }
-
- public void setEntry(final List<GenericMapEntryType<K, V>> entry) {
- this.entry.clear();
- if (entry != null) {
- this.entry.addAll(entry);
- }
- }
-}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/XmlEntityTOAdapter.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/XmlEntityTOAdapter.java
deleted file mode 100644
index 99400fd..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/XmlEntityTOAdapter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.syncope.common.lib.jaxb;
-
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-import org.apache.syncope.common.lib.to.AnyObjectTO;
-import org.apache.syncope.common.lib.to.EntityTO;
-import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.RealmTO;
-import org.apache.syncope.common.lib.to.UserTO;
-
-public class XmlEntityTOAdapter<E extends EntityTO> extends XmlAdapter<EntityTOType, E> {
-
- @Override
- @SuppressWarnings("unchecked")
- public E unmarshal(final EntityTOType v) throws Exception {
- E result = null;
-
- switch (v.getType()) {
- case USER:
- case GROUP:
- case ANY_OBJECT:
- case REALM:
- result = (E) v.getValue();
- break;
-
- default:
- }
-
- return result;
- }
-
- @Override
- public EntityTOType marshal(final E v) throws Exception {
- EntityTOType result = new EntityTOType();
- if (v instanceof UserTO) {
- result.setType(EntityTOType.Type.USER);
- } else if (v instanceof GroupTO) {
- result.setType(EntityTOType.Type.GROUP);
- } else if (v instanceof AnyObjectTO) {
- result.setType(EntityTOType.Type.ANY_OBJECT);
- } else if (v instanceof RealmTO) {
- result.setType(EntityTOType.Type.REALM);
- }
- result.setValue(v);
-
- return result;
- }
-}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/XmlGenericMapAdapter.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/XmlGenericMapAdapter.java
deleted file mode 100644
index 63d6825..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/XmlGenericMapAdapter.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2011 John Yeary <jy...@bluelotussoftware.com>.
- * Copyright 2011 Bluelotus Software, LLC.
- *
- * 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 org.apache.syncope.common.lib.jaxb;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-
-public class XmlGenericMapAdapter<K, V> extends XmlAdapter<GenericMapType<K, V>, Map<K, V>> {
-
- @Override
- public Map<K, V> unmarshal(final GenericMapType<K, V> v) throws Exception {
- Map<K, V> map = new HashMap<>();
-
- v.getEntry().forEach(mapEntryType -> map.put(mapEntryType.getKey(), mapEntryType.getValue()));
-
- return map;
- }
-
- @Override
- public GenericMapType<K, V> marshal(final Map<K, V> v) throws Exception {
- GenericMapType<K, V> mapType = new GenericMapType<>();
-
- v.entrySet().stream().map(entry -> {
- GenericMapEntryType<K, V> mapEntryType = new GenericMapEntryType<>();
- mapEntryType.setKey(entry.getKey());
- mapEntryType.setValue(entry.getValue());
- return mapEntryType;
- }).forEachOrdered(mapEntryType -> mapType.getEntry().add(mapEntryType));
-
- return mapType;
- }
-}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java
deleted file mode 100644
index 53754c9..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.jaxb;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/AuditEntry.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/AuditEntry.java
index 47f5acf..ab50384 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/AuditEntry.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/AuditEntry.java
@@ -18,23 +18,18 @@
*/
package org.apache.syncope.common.lib.log;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.AuditLoggerName;
-@XmlRootElement(name = "auditEntry")
-@XmlType
-public class AuditEntry extends BaseBean {
+public class AuditEntry implements BaseBean {
private static final long serialVersionUID = 1215115961911228005L;
@@ -88,9 +83,8 @@ public class AuditEntry extends BaseBean {
return before;
}
- @XmlElementWrapper(name = "inputs")
- @XmlElement(name = "input")
- @JsonProperty("inputs")
+ @JacksonXmlElementWrapper(localName = "inputs")
+ @JacksonXmlProperty(localName = "input")
@Schema(accessMode = Schema.AccessMode.READ_ONLY)
public List<String> getInputs() {
return inputs;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/EventCategory.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/EventCategory.java
index cc90447..cf49f98 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/EventCategory.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/EventCategory.java
@@ -18,21 +18,15 @@
*/
package org.apache.syncope.common.lib.log;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.AuditElements;
-@XmlRootElement(name = "eventCategory")
-@XmlType
-public class EventCategory implements Serializable {
+public class EventCategory implements BaseBean {
private static final long serialVersionUID = -4340060002701633401L;
@@ -85,9 +79,8 @@ public class EventCategory implements Serializable {
this.subcategory = subcategory;
}
- @XmlElementWrapper(name = "events")
- @XmlElement(name = "event")
- @JsonProperty("events")
+ @JacksonXmlElementWrapper(localName = "events")
+ @JacksonXmlProperty(localName = "event")
public List<String> getEvents() {
return events;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
index 85c3d28..1d07589 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
@@ -18,9 +18,9 @@
*/
package org.apache.syncope.common.lib.log;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
-public class LogAppender implements Serializable {
+public class LogAppender implements BaseBean {
private static final long serialVersionUID = 5975199884460548302L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogStatement.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogStatement.java
index f6dc3a3..64ba4cd 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogStatement.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogStatement.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.log;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.LoggerLevel;
-@XmlRootElement(name = "logStatement")
-@XmlType
-public class LogStatement implements Serializable {
+public class LogStatement implements BaseBean {
private static final long serialVersionUID = -2931205859104653385L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LoggerTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LoggerTO.java
index a18860f..5646fe0 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LoggerTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LoggerTO.java
@@ -18,17 +18,13 @@
*/
package org.apache.syncope.common.lib.log;
-import java.io.Serializable;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.LoggerLevel;
-@XmlRootElement(name = "logger")
-@XmlType
-public class LoggerTO implements Serializable {
+public class LoggerTO implements BaseBean {
private static final long serialVersionUID = -7794833835668648505L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/package-info.java
deleted file mode 100644
index 0f71579..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.log;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccountRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccountRuleConf.java
index 9509b02..881423a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccountRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractAccountRuleConf.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.policy;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ DefaultAccountRuleConf.class })
-public abstract class AbstractAccountRuleConf implements Serializable, AccountRuleConf {
+public abstract class AbstractAccountRuleConf implements BaseBean, AccountRuleConf {
private static final long serialVersionUID = -4080475005967851092L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractCorrelationRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractCorrelationRuleConf.java
index 147d06a..e88c840 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractCorrelationRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractCorrelationRuleConf.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.policy;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ DefaultPullCorrelationRuleConf.class, DefaultPushCorrelationRuleConf.class })
-public abstract class AbstractCorrelationRuleConf implements Serializable, RuleConf {
+public abstract class AbstractCorrelationRuleConf implements BaseBean, RuleConf {
private static final long serialVersionUID = -4080475005967851092L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractPasswordRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractPasswordRuleConf.java
index fec3921..83e2f20 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractPasswordRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AbstractPasswordRuleConf.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.policy;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ DefaultPasswordRuleConf.class })
-public abstract class AbstractPasswordRuleConf implements Serializable, PasswordRuleConf {
+public abstract class AbstractPasswordRuleConf implements BaseBean, PasswordRuleConf {
private static final long serialVersionUID = -5814018872387142339L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountPolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountPolicyTO.java
index 95c6433..fee5590 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountPolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountPolicyTO.java
@@ -19,17 +19,12 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "accountPolicy")
-@XmlType
@Schema(allOf = { PolicyTO.class })
public class AccountPolicyTO extends PolicyTO implements ComposablePolicy {
@@ -43,9 +38,9 @@ public class AccountPolicyTO extends PolicyTO implements ComposablePolicy {
private final List<String> passthroughResources = new ArrayList<>();
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.AccountPolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.AccountPolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -67,17 +62,15 @@ public class AccountPolicyTO extends PolicyTO implements ComposablePolicy {
this.maxAuthenticationAttempts = maxAuthenticationAttempts;
}
- @XmlElementWrapper(name = "rules")
- @XmlElement(name = "rule")
- @JsonProperty("rules")
+ @JacksonXmlElementWrapper(localName = "rules")
+ @JacksonXmlProperty(localName = "rule")
@Override
public List<String> getRules() {
return rules;
}
- @XmlElementWrapper(name = "passthroughResources")
- @XmlElement(name = "passthroughResource")
- @JsonProperty("passthroughResources")
+ @JacksonXmlElementWrapper(localName = "passthroughResources")
+ @JacksonXmlProperty(localName = "passthroughResource")
public List<String> getPassthroughResources() {
return passthroughResources;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ComposablePolicy.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ComposablePolicy.java
index 5307f67..ba877f7 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ComposablePolicy.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ComposablePolicy.java
@@ -18,11 +18,11 @@
*/
package org.apache.syncope.common.lib.policy;
-import java.io.Serializable;
import java.util.List;
+import org.apache.syncope.common.lib.BaseBean;
@FunctionalInterface
-public interface ComposablePolicy extends Serializable {
+public interface ComposablePolicy extends BaseBean {
/**
* Return policy rules.
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java
index 81b86c2..7d0dfa5 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java
@@ -18,19 +18,14 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.Schema;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.SchemaType;
-@XmlRootElement(name = "defaultAccountRuleConf")
-@XmlType
public class DefaultAccountRuleConf extends AbstractAccountRuleConf implements AccountRuleConf {
private static final long serialVersionUID = 3259256974414758406L;
@@ -122,30 +117,26 @@ public class DefaultAccountRuleConf extends AbstractAccountRuleConf implements A
this.pattern = pattern;
}
- @XmlElementWrapper(name = "wordsNotPermitted")
- @XmlElement(name = "word")
- @JsonProperty("wordsNotPermitted")
+ @JacksonXmlElementWrapper(localName = "wordsNotPermitted")
+ @JacksonXmlProperty(localName = "word")
public List<String> getWordsNotPermitted() {
return wordsNotPermitted;
}
- @XmlElementWrapper(name = "prefixesNotPermitted")
- @XmlElement(name = "prefix")
- @JsonProperty("prefixesNotPermitted")
+ @JacksonXmlElementWrapper(localName = "prefixesNotPermitted")
+ @JacksonXmlProperty(localName = "prefix")
public List<String> getPrefixesNotPermitted() {
return prefixesNotPermitted;
}
- @XmlElementWrapper(name = "schemasNotPermitted")
- @XmlElement(name = "schema")
- @JsonProperty("schemasNotPermitted")
+ @JacksonXmlElementWrapper(localName = "schemasNotPermitted")
+ @JacksonXmlProperty(localName = "schema")
public List<String> getSchemasNotPermitted() {
return schemasNotPermitted;
}
- @XmlElementWrapper(name = "suffixesNotPermitted")
- @XmlElement(name = "suffix")
- @JsonProperty("suffixesNotPermitted")
+ @JacksonXmlElementWrapper(localName = "suffixesNotPermitted")
+ @JacksonXmlProperty(localName = "suffix")
public List<String> getSuffixesNotPermitted() {
return suffixesNotPermitted;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java
index 71e7488..b56d7ef 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java
@@ -18,19 +18,14 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.Schema;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.SchemaType;
-@XmlRootElement(name = "defaultPasswordRuleConf")
-@XmlType
public class DefaultPasswordRuleConf extends AbstractPasswordRuleConf {
private static final long serialVersionUID = -7988778083915548547L;
@@ -317,30 +312,26 @@ public class DefaultPasswordRuleConf extends AbstractPasswordRuleConf {
this.usernameAllowed = usernameAllowed;
}
- @XmlElementWrapper(name = "wordsNotPermitted")
- @XmlElement(name = "word")
- @JsonProperty("wordsNotPermitted")
+ @JacksonXmlElementWrapper(localName = "wordsNotPermitted")
+ @JacksonXmlProperty(localName = "word")
public List<String> getWordsNotPermitted() {
return wordsNotPermitted;
}
- @XmlElementWrapper(name = "prefixesNotPermitted")
- @XmlElement(name = "prefix")
- @JsonProperty("prefixesNotPermitted")
+ @JacksonXmlElementWrapper(localName = "prefixesNotPermitted")
+ @JacksonXmlProperty(localName = "prefix")
public List<String> getPrefixesNotPermitted() {
return prefixesNotPermitted;
}
- @XmlElementWrapper(name = "schemasNotPermitted")
- @XmlElement(name = "schema")
- @JsonProperty("schemasNotPermitted")
+ @JacksonXmlElementWrapper(localName = "schemasNotPermitted")
+ @JacksonXmlProperty(localName = "schema")
public List<String> getSchemasNotPermitted() {
return schemasNotPermitted;
}
- @XmlElementWrapper(name = "suffixesNotPermitted")
- @XmlElement(name = "suffix")
- @JsonProperty("suffixesNotPermitted")
+ @JacksonXmlElementWrapper(localName = "suffixesNotPermitted")
+ @JacksonXmlProperty(localName = "suffix")
public List<String> getSuffixesNotPermitted() {
return suffixesNotPermitted;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPullCorrelationRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPullCorrelationRuleConf.java
index 9bda1a6..e19003e 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPullCorrelationRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPullCorrelationRuleConf.java
@@ -18,16 +18,11 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "defaultPullCorrelationRuleConf")
-@XmlType
public class DefaultPullCorrelationRuleConf extends AbstractCorrelationRuleConf implements PullCorrelationRuleConf {
private static final long serialVersionUID = 429126085793346273L;
@@ -44,9 +39,8 @@ public class DefaultPullCorrelationRuleConf extends AbstractCorrelationRuleConf
this.orSchemas = orSchemas;
}
- @XmlElementWrapper(name = "schemas")
- @XmlElement(name = "schema")
- @JsonProperty("schemas")
+ @JacksonXmlElementWrapper(localName = "schemas")
+ @JacksonXmlProperty(localName = "schema")
public List<String> getSchemas() {
return schemas;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPushCorrelationRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPushCorrelationRuleConf.java
index a909208..b8a7974 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPushCorrelationRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPushCorrelationRuleConf.java
@@ -18,16 +18,11 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "defaultPushCorrelationRuleConf")
-@XmlType
public class DefaultPushCorrelationRuleConf extends AbstractCorrelationRuleConf implements PushCorrelationRuleConf {
private static final long serialVersionUID = 429126085793346273L;
@@ -44,9 +39,8 @@ public class DefaultPushCorrelationRuleConf extends AbstractCorrelationRuleConf
this.orSchemas = orSchemas;
}
- @XmlElementWrapper(name = "schemas")
- @XmlElement(name = "schema")
- @JsonProperty("schemas")
+ @JacksonXmlElementWrapper(localName = "schemas")
+ @JacksonXmlProperty(localName = "schema")
public List<String> getSchemas() {
return schemas;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java
index 60eb62c..ec38b31 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.policy;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "haveIBeenPwnedPasswordRuleConf")
-@XmlType
public class HaveIBeenPwnedPasswordRuleConf extends AbstractPasswordRuleConf {
private static final long serialVersionUID = -8962889598888347921L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java
index ea2e4a7..7f2ef4f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PasswordPolicyTO.java
@@ -19,19 +19,14 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "passwordPolicy")
-@XmlType
@Schema(allOf = { PolicyTO.class })
public class PasswordPolicyTO extends PolicyTO implements ComposablePolicy {
@@ -43,9 +38,9 @@ public class PasswordPolicyTO extends PolicyTO implements ComposablePolicy {
private final List<String> rules = new ArrayList<>();
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.PasswordPolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.PasswordPolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -67,9 +62,8 @@ public class PasswordPolicyTO extends PolicyTO implements ComposablePolicy {
this.historyLength = historyLength;
}
- @XmlElementWrapper(name = "rules")
- @XmlElement(name = "rule")
- @JsonProperty("rules")
+ @JacksonXmlElementWrapper(localName = "rules")
+ @JacksonXmlProperty(localName = "rule")
@Override
public List<String> getRules() {
return rules;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java
index 0028a13..fc303d0 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PolicyTO.java
@@ -21,34 +21,27 @@ package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.EntityTO;
-@XmlRootElement(name = "policy")
-@XmlType
-@XmlSeeAlso({ AccountPolicyTO.class, PasswordPolicyTO.class, ProvisioningPolicyTO.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class", "key", "description" })
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class", "key", "description" })
@Schema(
subTypes = { AccountPolicyTO.class, PasswordPolicyTO.class, PullPolicyTO.class },
- discriminatorProperty = "@class")
+ discriminatorProperty = "_class")
public abstract class PolicyTO implements EntityTO {
private static final long serialVersionUID = -2903888572649721035L;
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
private String key;
@@ -59,7 +52,7 @@ public abstract class PolicyTO implements EntityTO {
private final List<String> usedByRealms = new ArrayList<>();
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
@@ -79,7 +72,6 @@ public abstract class PolicyTO implements EntityTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getDescription() {
return description;
}
@@ -89,17 +81,15 @@ public abstract class PolicyTO implements EntityTO {
}
@Schema(accessMode = Schema.AccessMode.READ_ONLY)
- @XmlElementWrapper(name = "usedByResources")
- @XmlElement(name = "resource")
- @JsonProperty("usedByResources")
+ @JacksonXmlElementWrapper(localName = "usedByResources")
+ @JacksonXmlProperty(localName = "resource")
public List<String> getUsedByResources() {
return usedByResources;
}
@Schema(accessMode = Schema.AccessMode.READ_ONLY)
- @XmlElementWrapper(name = "usedByRealms")
- @XmlElement(name = "group")
- @JsonProperty("usedByRealms")
+ @JacksonXmlElementWrapper(localName = "usedByRealms")
+ @JacksonXmlProperty(localName = "group")
public List<String> getUsedByRealms() {
return usedByRealms;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ProvisioningPolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ProvisioningPolicyTO.java
index a494c13..548a402 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ProvisioningPolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/ProvisioningPolicyTO.java
@@ -18,20 +18,12 @@
*/
package org.apache.syncope.common.lib.policy;
-import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
import org.apache.syncope.common.lib.types.ConflictResolutionAction;
-@XmlType
-@XmlSeeAlso({ PullPolicyTO.class, PushPolicyTO.class })
@Schema(allOf = { PolicyTO.class })
public abstract class ProvisioningPolicyTO extends PolicyTO {
@@ -39,7 +31,6 @@ public abstract class ProvisioningPolicyTO extends PolicyTO {
private ConflictResolutionAction conflictResolutionAction;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> correlationRules = new HashMap<>();
public ConflictResolutionAction getConflictResolutionAction() {
@@ -50,7 +41,6 @@ public abstract class ProvisioningPolicyTO extends PolicyTO {
this.conflictResolutionAction = conflictResolutionAction;
}
- @JsonProperty
public Map<String, String> getCorrelationRules() {
return correlationRules;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PullPolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PullPolicyTO.java
index aee16cd..1cd2939 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PullPolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PullPolicyTO.java
@@ -19,21 +19,17 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "pullPolicy")
-@XmlType
-@Schema(allOf = { ProvisioningPolicyTO.class, PolicyTO.class })
+@Schema(allOf = { ProvisioningPolicyTO.class })
public class PullPolicyTO extends ProvisioningPolicyTO {
private static final long serialVersionUID = 993024634238024242L;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.PullPolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.PullPolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PushPolicyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PushPolicyTO.java
index a2eca14..8b958d4 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PushPolicyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/PushPolicyTO.java
@@ -19,21 +19,17 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "pushPolicy")
-@XmlType
-@Schema(allOf = { ProvisioningPolicyTO.class, PolicyTO.class })
+@Schema(allOf = { ProvisioningPolicyTO.class })
public class PushPolicyTO extends ProvisioningPolicyTO {
private static final long serialVersionUID = 993024634238024242L;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.policy.PushPolicyTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.policy.PushPolicyTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/RuleConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/RuleConf.java
index 56e3c5c..795c0bb 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/RuleConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/RuleConf.java
@@ -19,11 +19,11 @@
package org.apache.syncope.common.lib.policy;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
@FunctionalInterface
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface RuleConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface RuleConf extends BaseBean {
/**
* Give name of related rule instance.
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
deleted file mode 100644
index 1850d20..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.policy;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractAnyReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractAnyReportletConf.java
index 5e95102..11026aa 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractAnyReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractAnyReportletConf.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.report;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlType
public abstract class AbstractAnyReportletConf extends AbstractReportletConf {
private static final long serialVersionUID = -5388597116592877789L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java
index 0818e41..975fb70 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java
@@ -18,16 +18,10 @@
*/
package org.apache.syncope.common.lib.report;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({
- StaticReportletConf.class, UserReportletConf.class, GroupReportletConf.class,
- AuditReportletConf.class, ReconciliationReportletConf.class })
-public abstract class AbstractReportletConf implements Serializable, ReportletConf {
+public abstract class AbstractReportletConf implements BaseBean, ReportletConf {
private static final long serialVersionUID = -6130008602014516608L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java
index 96e49d0..e248bb5 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.report;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "auditReportletConf")
-@XmlType
public class AuditReportletConf extends AbstractReportletConf {
private static final long serialVersionUID = -4814950086361753689L;
@@ -44,5 +39,4 @@ public class AuditReportletConf extends AbstractReportletConf {
public void setSize(final int size) {
this.size = size;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java
index 69b2c45..ad0aec3 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java
@@ -18,26 +18,18 @@
*/
package org.apache.syncope.common.lib.report;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import org.apache.syncope.common.lib.Schema;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.SchemaType;
-@XmlRootElement(name = "groupReportletConf")
-@XmlType
public class GroupReportletConf extends AbstractAnyReportletConf {
private static final long serialVersionUID = -8488503068032439699L;
- @XmlEnum
- @XmlType(name = "groupReportletConfFeature")
public enum Feature {
key,
@@ -71,23 +63,20 @@ public class GroupReportletConf extends AbstractAnyReportletConf {
this.matchingCond = matchingCond;
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
public List<String> getPlainAttrs() {
return plainAttrs;
}
- @XmlElementWrapper(name = "derAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("derAttrs")
+ @JacksonXmlElementWrapper(localName = "derAttrs")
+ @JacksonXmlProperty(localName = "derAttr")
public List<String> getDerAttrs() {
return derAttrs;
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
public List<String> getVirAttrs() {
return virAttrs;
}
@@ -100,9 +89,8 @@ public class GroupReportletConf extends AbstractAnyReportletConf {
super(name);
}
- @XmlElementWrapper(name = "features")
- @XmlElement(name = "feature")
- @JsonProperty("features")
+ @JacksonXmlElementWrapper(localName = "features")
+ @JacksonXmlProperty(localName = "feature")
public List<Feature> getFeatures() {
return features;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
index 6d43e1f..e2fb8f4 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
@@ -18,23 +18,15 @@
*/
package org.apache.syncope.common.lib.report;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "reconciliationReportletConf")
-@XmlType
+
public class ReconciliationReportletConf extends AbstractReportletConf {
private static final long serialVersionUID = 6602717600064602764L;
- @XmlEnum
- @XmlType(name = "reconciliationReportletConfFeature")
public enum Feature {
key,
@@ -92,9 +84,8 @@ public class ReconciliationReportletConf extends AbstractReportletConf {
this.anyObjectMatchingCond = anyObjectMatchingCond;
}
- @XmlElementWrapper(name = "features")
- @XmlElement(name = "feature")
- @JsonProperty("features")
+ @JacksonXmlElementWrapper(localName = "features")
+ @JacksonXmlProperty(localName = "feature")
public List<Feature> getFeatures() {
return features;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReportletConf.java
index 9eb50e2..0f3777f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/ReportletConf.java
@@ -19,11 +19,11 @@
package org.apache.syncope.common.lib.report;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
@FunctionalInterface
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface ReportletConf extends Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "_class")
+public interface ReportletConf extends BaseBean {
/**
* Give name of related reportlet instance.
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java
index 68158c0..23adbea 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java
@@ -18,20 +18,14 @@
*/
package org.apache.syncope.common.lib.report;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.types.TraceLevel;
-@XmlRootElement(name = "staticReportletConf")
-@XmlType
public class StaticReportletConf extends AbstractReportletConf {
private static final long serialVersionUID = -4814950086361753689L;
@@ -72,9 +66,8 @@ public class StaticReportletConf extends AbstractReportletConf {
this.doubleField = doubleField;
}
- @XmlElementWrapper(name = "listField")
- @XmlElement(name = "field")
- @JsonProperty("listField")
+ @JacksonXmlElementWrapper(localName = "listField")
+ @JacksonXmlProperty(localName = "field")
public List<String> getListField() {
return listField;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java
index 8f364ec..1c50bf3 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java
@@ -18,20 +18,14 @@
*/
package org.apache.syncope.common.lib.report;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.Schema;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.SchemaType;
-@XmlRootElement(name = "userReportletConf")
-@XmlType
public class UserReportletConf extends AbstractAnyReportletConf {
private static final long serialVersionUID = 6602717600064602764L;
@@ -45,8 +39,6 @@ public class UserReportletConf extends AbstractAnyReportletConf {
@Schema(anyTypeKind = AnyTypeKind.USER, type = { SchemaType.VIRTUAL })
private final List<String> virAttrs = new ArrayList<>();
- @XmlEnum
- @XmlType(name = "userReportletConfFeature")
public enum Feature {
key,
@@ -69,23 +61,20 @@ public class UserReportletConf extends AbstractAnyReportletConf {
@SearchCondition(type = "USER")
protected String matchingCond;
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
public List<String> getPlainAttrs() {
return plainAttrs;
}
- @XmlElementWrapper(name = "derAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("derAttrs")
+ @JacksonXmlElementWrapper(localName = "derAttrs")
+ @JacksonXmlProperty(localName = "derAttr")
public List<String> getDerAttrs() {
return derAttrs;
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
public List<String> getVirAttrs() {
return virAttrs;
}
@@ -108,11 +97,9 @@ public class UserReportletConf extends AbstractAnyReportletConf {
this.matchingCond = matchingCond;
}
- @XmlElementWrapper(name = "features")
- @XmlElement(name = "feature")
- @JsonProperty("features")
+ @JacksonXmlElementWrapper(localName = "features")
+ @JacksonXmlProperty(localName = "feature")
public List<Feature> getFeatures() {
return features;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
deleted file mode 100644
index cd2f367..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.report;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatch.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatch.java
index 357f92f..00a118d 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatch.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatch.java
@@ -18,16 +18,12 @@
*/
package org.apache.syncope.common.lib.request;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.PatchOperation;
-@XmlType
-@XmlSeeAlso({ AbstractPatchItem.class, AttrPatch.class, MembershipUR.class, RelationshipUR.class })
-public abstract class AbstractPatch implements Serializable {
+public abstract class AbstractPatch implements BaseBean {
private static final long serialVersionUID = -4729181508529829580L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatchItem.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatchItem.java
index be918ac..2ef7138 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatchItem.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractPatchItem.java
@@ -19,14 +19,9 @@
package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlType
-@XmlSeeAlso({ AbstractReplacePatchItem.class, LongPatchItem.class, StringPatchItem.class })
public abstract class AbstractPatchItem<T> extends AbstractPatch {
private static final long serialVersionUID = -8889326446009942028L;
@@ -44,7 +39,6 @@ public abstract class AbstractPatchItem<T> extends AbstractPatch {
private T value;
@JsonProperty(required = true)
- @XmlElement(required = true)
public T getValue() {
return value;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractReplacePatchItem.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractReplacePatchItem.java
index 672ef27..1183298 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractReplacePatchItem.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AbstractReplacePatchItem.java
@@ -18,8 +18,6 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.types.PatchOperation;
/**
@@ -29,8 +27,6 @@ import org.apache.syncope.common.lib.types.PatchOperation;
*
* @param <T> {@code String}, {@code Boolean}
*/
-@XmlType
-@XmlSeeAlso({ BooleanReplacePatchItem.class, StringReplacePatchItem.class })
public abstract class AbstractReplacePatchItem<T> extends AbstractPatchItem<T> {
private static final long serialVersionUID = 2027599764019829563L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyCR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyCR.java
index 26ea898..7b65838 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyCR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyCR.java
@@ -22,29 +22,24 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.Serializable;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.Attr;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.RealmMember;
-@XmlType
-@XmlSeeAlso({ UserUR.class, GroupUR.class, AnyObjectUR.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class" })
-@Schema(subTypes = { UserCR.class, GroupCR.class, AnyObjectCR.class }, discriminatorProperty = "@class")
-public abstract class AnyCR implements Serializable, RealmMember {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class" })
+@Schema(subTypes = { UserCR.class, GroupCR.class, AnyObjectCR.class }, discriminatorProperty = "_class")
+public abstract class AnyCR implements BaseBean, RealmMember {
private static final long serialVersionUID = -1180587903919947455L;
@@ -142,8 +137,8 @@ public abstract class AnyCR implements Serializable, RealmMember {
}
}
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
private String realm;
@@ -156,7 +151,7 @@ public abstract class AnyCR implements Serializable, RealmMember {
private final Set<String> resources = new HashSet<>();
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
@@ -164,7 +159,6 @@ public abstract class AnyCR implements Serializable, RealmMember {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
@Override
public String getRealm() {
return realm;
@@ -175,9 +169,6 @@ public abstract class AnyCR implements Serializable, RealmMember {
this.realm = realm;
}
- @XmlElementWrapper(name = "auxClasses")
- @XmlElement(name = "class")
- @JsonProperty("auxClasses")
@Override
public Set<String> getAuxClasses() {
return auxClasses;
@@ -189,9 +180,8 @@ public abstract class AnyCR implements Serializable, RealmMember {
return plainAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
@Override
public Set<Attr> getPlainAttrs() {
return plainAttrs;
@@ -203,7 +193,6 @@ public abstract class AnyCR implements Serializable, RealmMember {
return Optional.empty();
}
- @XmlTransient
@JsonIgnore
@Override
public Set<Attr> getDerAttrs() {
@@ -216,17 +205,15 @@ public abstract class AnyCR implements Serializable, RealmMember {
return virAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
@Override
public Set<Attr> getVirAttrs() {
return virAttrs;
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
+ @JacksonXmlElementWrapper(localName = "resources")
+ @JacksonXmlProperty(localName = "resource")
@Override
public Set<String> getResources() {
return resources;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectCR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectCR.java
index ef89554..7d80f39 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectCR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectCR.java
@@ -21,24 +21,20 @@ package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.GroupableRelatableTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.RelationshipTO;
-@XmlRootElement(name = "anyObjectCR")
-@XmlType
-@JsonPropertyOrder(value = { "@class", "name" })
+@JsonPropertyOrder(value = { "_class", "name" })
@Schema(allOf = { AnyCR.class })
public class AnyObjectCR extends AnyCR implements GroupableRelatableTO {
@@ -96,15 +92,15 @@ public class AnyObjectCR extends AnyCR implements GroupableRelatableTO {
private final List<MembershipTO> memberships = new ArrayList<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.request.AnyObjectCR")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.request.AnyObjectCR")
@Override
public String getDiscriminator() {
return getClass().getName();
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getType() {
return type;
}
@@ -114,7 +110,6 @@ public class AnyObjectCR extends AnyCR implements GroupableRelatableTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getName() {
return name;
}
@@ -131,9 +126,8 @@ public class AnyObjectCR extends AnyCR implements GroupableRelatableTO {
findFirst();
}
- @XmlElementWrapper(name = "relationships")
- @XmlElement(name = "relationship")
- @JsonProperty("relationships")
+ @JacksonXmlElementWrapper(localName = "relationships")
+ @JacksonXmlProperty(localName = "relationship")
@Override
public List<RelationshipTO> getRelationships() {
return relationships;
@@ -145,9 +139,8 @@ public class AnyObjectCR extends AnyCR implements GroupableRelatableTO {
return memberships.stream().filter(membership -> groupKey.equals(membership.getGroupKey())).findFirst();
}
- @XmlElementWrapper(name = "memberships")
- @XmlElement(name = "membership")
- @JsonProperty("memberships")
+ @JacksonXmlElementWrapper(localName = "memberships")
+ @JacksonXmlProperty(localName = "membership")
@Override
public List<MembershipTO> getMemberships() {
return memberships;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectUR.java
index e9a2b5e..893852e 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyObjectUR.java
@@ -19,21 +19,16 @@
package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "anyObjectUR")
-@XmlType
@Schema(allOf = { AnyUR.class })
public class AnyObjectUR extends AnyUR {
@@ -92,8 +87,9 @@ public class AnyObjectUR extends AnyUR {
private final Set<MembershipUR> memberships = new HashSet<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.request.AnyObjectUR")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.request.AnyObjectUR")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -107,16 +103,14 @@ public class AnyObjectUR extends AnyUR {
this.name = name;
}
- @XmlElementWrapper(name = "relationships")
- @XmlElement(name = "relationship")
- @JsonProperty("relationships")
+ @JacksonXmlElementWrapper(localName = "relationships")
+ @JacksonXmlProperty(localName = "relationship")
public Set<RelationshipUR> getRelationships() {
return relationships;
}
- @XmlElementWrapper(name = "memberships")
- @XmlElement(name = "membership")
- @JsonProperty("memberships")
+ @JacksonXmlElementWrapper(localName = "memberships")
+ @JacksonXmlProperty(localName = "membership")
public Set<MembershipUR> getMemberships() {
return memberships;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyUR.java
index 531b345..cf92b34 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AnyUR.java
@@ -22,28 +22,23 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.Serializable;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.Attr;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ UserUR.class, GroupUR.class, AnyObjectUR.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class", "key" })
-@Schema(subTypes = { UserUR.class, GroupUR.class, AnyObjectUR.class }, discriminatorProperty = "@class")
-public abstract class AnyUR implements Serializable {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class", "key" })
+@Schema(subTypes = { UserUR.class, GroupUR.class, AnyObjectUR.class }, discriminatorProperty = "_class")
+public abstract class AnyUR implements BaseBean {
private static final long serialVersionUID = -7445489774552440544L;
@@ -147,8 +142,8 @@ public abstract class AnyUR implements Serializable {
}
}
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
private String key;
@@ -163,7 +158,7 @@ public abstract class AnyUR implements Serializable {
private final Set<StringPatchItem> resources = new HashSet<>();
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
@@ -171,7 +166,6 @@ public abstract class AnyUR implements Serializable {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getKey() {
return key;
}
@@ -189,30 +183,26 @@ public abstract class AnyUR implements Serializable {
this.realm = realm;
}
- @XmlElementWrapper(name = "auxClasses")
- @XmlElement(name = "auxClass")
- @JsonProperty("auxClasses")
+ @JacksonXmlElementWrapper(localName = "auxClasses")
+ @JacksonXmlProperty(localName = "auxClass")
public Set<StringPatchItem> getAuxClasses() {
return auxClasses;
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
public Set<AttrPatch> getPlainAttrs() {
return plainAttrs;
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
public Set<Attr> getVirAttrs() {
return virAttrs;
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
+ @JacksonXmlElementWrapper(localName = "resources")
+ @JacksonXmlProperty(localName = "resource")
public Set<StringPatchItem> getResources() {
return resources;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AttrPatch.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AttrPatch.java
index d832880..1da239d 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AttrPatch.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/AttrPatch.java
@@ -19,14 +19,10 @@
package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.Attr;
-@XmlRootElement(name = "attrPatch")
-@XmlType
public class AttrPatch extends AbstractPatch {
private static final long serialVersionUID = 6881634224246176673L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/BooleanReplacePatchItem.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/BooleanReplacePatchItem.java
index bbc5842..f0a3fb3 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/BooleanReplacePatchItem.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/BooleanReplacePatchItem.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "booleanReplacePatchItem")
-@XmlType
public class BooleanReplacePatchItem extends AbstractReplacePatchItem<Boolean> {
private static final long serialVersionUID = 4013349284181583101L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupCR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupCR.java
index 88e162c..c47edbb 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupCR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupCR.java
@@ -20,25 +20,19 @@ package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
import org.apache.syncope.common.lib.to.TypeExtensionTO;
-@XmlRootElement(name = "groupCR")
-@XmlType
-@JsonPropertyOrder(value = { "@class", "name" })
+@JsonPropertyOrder(value = { "_class", "name" })
@Schema(allOf = { AnyCR.class })
public class GroupCR extends AnyCR {
@@ -100,20 +94,19 @@ public class GroupCR extends AnyCR {
private String udynMembershipCond;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> adynMembershipConds = new HashMap<>();
private final List<TypeExtensionTO> typeExtensions = new ArrayList<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.request.GroupCR")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.request.GroupCR")
@Override
public String getDiscriminator() {
return getClass().getName();
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getName() {
return name;
}
@@ -146,14 +139,12 @@ public class GroupCR extends AnyCR {
this.udynMembershipCond = uDynMembershipCond;
}
- @JsonProperty
public Map<String, String> getADynMembershipConds() {
return adynMembershipConds;
}
- @XmlElementWrapper(name = "typeExtensions")
- @XmlElement(name = "typeExtension")
- @JsonProperty("typeExtensions")
+ @JacksonXmlElementWrapper(localName = "typeExtensions")
+ @JacksonXmlProperty(localName = "typeExtension")
public List<TypeExtensionTO> getTypeExtensions() {
return typeExtensions;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupUR.java
index 1e12a1b..34cc36a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/GroupUR.java
@@ -20,6 +20,8 @@ package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Collection;
@@ -27,18 +29,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
import org.apache.syncope.common.lib.to.TypeExtensionTO;
-@XmlRootElement(name = "groupUR")
-@XmlType
@Schema(allOf = { AnyUR.class })
public class GroupUR extends AnyUR {
@@ -104,13 +98,13 @@ public class GroupUR extends AnyUR {
private String udynMembershipCond;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> adynMembershipConds = new HashMap<>();
private final List<TypeExtensionTO> typeExtensions = new ArrayList<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.request.GroupUR")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.request.GroupUR")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -148,7 +142,6 @@ public class GroupUR extends AnyUR {
this.udynMembershipCond = udynMembershipCond;
}
- @JsonProperty
public Map<String, String> getADynMembershipConds() {
return adynMembershipConds;
}
@@ -159,9 +152,8 @@ public class GroupUR extends AnyUR {
typeExtension -> anyType != null && anyType.equals(typeExtension.getAnyType())).findFirst();
}
- @XmlElementWrapper(name = "typeExtensions")
- @XmlElement(name = "typeExtension")
- @JsonProperty("typeExtensions")
+ @JacksonXmlElementWrapper(localName = "typeExtensions")
+ @JacksonXmlProperty(localName = "typeExtension")
public List<TypeExtensionTO> getTypeExtensions() {
return typeExtensions;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LinkedAccountUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LinkedAccountUR.java
index 2ccb596..6156001 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LinkedAccountUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LinkedAccountUR.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.LinkedAccountTO;
-@XmlRootElement(name = "linkedAccountPatch")
-@XmlType
public class LinkedAccountUR extends AbstractPatch {
private static final long serialVersionUID = 7848357705991620487L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LongPatchItem.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LongPatchItem.java
index 078b368..56609cd 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LongPatchItem.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/LongPatchItem.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "stringPatchItem")
-@XmlType
public class LongPatchItem extends AbstractPatchItem<Long> {
private static final long serialVersionUID = 7308597905137875993L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/MembershipUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/MembershipUR.java
index fb57caa..2ec0c7f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/MembershipUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/MembershipUR.java
@@ -18,22 +18,16 @@
*/
package org.apache.syncope.common.lib.request;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.Attr;
-@XmlRootElement(name = "membershipUR")
-@XmlType
public class MembershipUR extends AbstractPatch {
private static final long serialVersionUID = -6783121761221554433L;
@@ -95,16 +89,14 @@ public class MembershipUR extends AbstractPatch {
this.group = group;
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
public Set<Attr> getPlainAttrs() {
return plainAttrs;
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
public Set<Attr> getVirAttrs() {
return virAttrs;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/PasswordPatch.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/PasswordPatch.java
index 4d67f14..c681ede 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/PasswordPatch.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/PasswordPatch.java
@@ -18,21 +18,14 @@
*/
package org.apache.syncope.common.lib.request;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "passwordPatch")
-@XmlType
-@XmlSeeAlso({ ResourceAR.class, StatusR.class })
public class PasswordPatch extends StringReplacePatchItem {
private static final long serialVersionUID = 961023537479513071L;
@@ -88,9 +81,8 @@ public class PasswordPatch extends StringReplacePatchItem {
this.onSyncope = onSyncope;
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
+ @JacksonXmlElementWrapper(localName = "resources")
+ @JacksonXmlProperty(localName = "resource")
public List<String> getResources() {
return resources;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/RelationshipUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/RelationshipUR.java
index 4e14d3b..45da77a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/RelationshipUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/RelationshipUR.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.RelationshipTO;
-@XmlRootElement(name = "relationshipUR")
-@XmlType
public class RelationshipUR extends AbstractPatch {
private static final long serialVersionUID = 1314175521205206511L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceAR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceAR.java
index 052bab0..1caad4d 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceAR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceAR.java
@@ -20,8 +20,6 @@ package org.apache.syncope.common.lib.request;
import java.util.Collection;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.ResourceAssociationAction;
@@ -29,8 +27,6 @@ import org.apache.syncope.common.lib.types.ResourceAssociationAction;
/**
* Resource Association Request.
*/
-@XmlRootElement(name = "resourceAR")
-@XmlType
public class ResourceAR extends PasswordPatch {
private static final long serialVersionUID = 6295778399633883767L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceDR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceDR.java
index 2e1edaa..481742f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceDR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/ResourceDR.java
@@ -18,24 +18,19 @@
*/
package org.apache.syncope.common.lib.request;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.ResourceDeassociationAction;
/**
* Resource De-association Request.
*/
-@XmlRootElement(name = "resourceDR")
-@XmlType
-public class ResourceDR implements Serializable {
+public class ResourceDR implements BaseBean {
private static final long serialVersionUID = 6295778399633883767L;
@@ -105,9 +100,8 @@ public class ResourceDR implements Serializable {
this.action = action;
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
+ @JacksonXmlElementWrapper(localName = "resources")
+ @JacksonXmlProperty(localName = "resource")
public List<String> getResources() {
return resources;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StatusR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StatusR.java
index f4c7acf..ea68c49 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StatusR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StatusR.java
@@ -20,14 +20,10 @@ package org.apache.syncope.common.lib.request;
import java.util.Collection;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.StatusRType;
-@XmlRootElement(name = "statusR")
-@XmlType
public class StatusR extends PasswordPatch {
private static final long serialVersionUID = 99309988426922612L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringPatchItem.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringPatchItem.java
index 98494a7..c5ade29 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringPatchItem.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringPatchItem.java
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "stringPatchItem")
-@XmlType
public class StringPatchItem extends AbstractPatchItem<String> {
private static final long serialVersionUID = -4956965404796800689L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringReplacePatchItem.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringReplacePatchItem.java
index 9a60b9c..dcf363e 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringReplacePatchItem.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/StringReplacePatchItem.java
@@ -18,13 +18,6 @@
*/
package org.apache.syncope.common.lib.request;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement(name = "stringReplacePatchItem")
-@XmlType
-@XmlSeeAlso({ PasswordPatch.class })
public class StringReplacePatchItem extends AbstractReplacePatchItem<String> {
private static final long serialVersionUID = -5631052324901928363L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserCR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserCR.java
index 0ce2eee..e8ba7a9 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserCR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserCR.java
@@ -21,6 +21,8 @@ package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Collection;
@@ -28,10 +30,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.to.GroupableRelatableTO;
@@ -39,9 +37,7 @@ import org.apache.syncope.common.lib.to.LinkedAccountTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.RelationshipTO;
-@XmlRootElement(name = "userCR")
-@XmlType
-@JsonPropertyOrder(value = { "@class", "username" })
+@JsonPropertyOrder(value = { "_class", "username" })
@Schema(allOf = { AnyCR.class })
public class UserCR extends AnyCR implements GroupableRelatableTO {
@@ -165,15 +161,15 @@ public class UserCR extends AnyCR implements GroupableRelatableTO {
private final List<LinkedAccountTO> linkedAccounts = new ArrayList<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.request.UserCR")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.request.UserCR")
@Override
public String getDiscriminator() {
return getClass().getName();
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getUsername() {
return username;
}
@@ -230,9 +226,8 @@ public class UserCR extends AnyCR implements GroupableRelatableTO {
findFirst();
}
- @XmlElementWrapper(name = "relationships")
- @XmlElement(name = "relationship")
- @JsonProperty("relationships")
+ @JacksonXmlElementWrapper(localName = "relationships")
+ @JacksonXmlProperty(localName = "relationship")
@Override
public List<RelationshipTO> getRelationships() {
return relationships;
@@ -244,9 +239,8 @@ public class UserCR extends AnyCR implements GroupableRelatableTO {
return memberships.stream().filter(membership -> groupKey.equals(membership.getGroupKey())).findFirst();
}
- @XmlElementWrapper(name = "memberships")
- @XmlElement(name = "membership")
- @JsonProperty("memberships")
+ @JacksonXmlElementWrapper(localName = "memberships")
+ @JacksonXmlProperty(localName = "membership")
@Override
public List<MembershipTO> getMemberships() {
return memberships;
@@ -257,16 +251,14 @@ public class UserCR extends AnyCR implements GroupableRelatableTO {
return List.of();
}
- @XmlElementWrapper(name = "roles")
- @XmlElement(name = "role")
- @JsonProperty("roles")
+ @JacksonXmlElementWrapper(localName = "roles")
+ @JacksonXmlProperty(localName = "role")
public Set<String> getRoles() {
return roles;
}
- @XmlElementWrapper(name = "linkedAccounts")
- @XmlElement(name = "linkedAccount")
- @JsonProperty("linkedAccounts")
+ @JacksonXmlElementWrapper(localName = "linkedAccounts")
+ @JacksonXmlProperty(localName = "linkedAccount")
public List<LinkedAccountTO> getLinkedAccounts() {
return linkedAccounts;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserUR.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserUR.java
index a9689fb..3fa32da 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserUR.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/UserUR.java
@@ -19,21 +19,17 @@
package org.apache.syncope.common.lib.request;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Collection;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "userUR")
-@XmlType
@Schema(allOf = { AnyUR.class })
public class UserUR extends AnyUR {
@@ -139,8 +135,9 @@ public class UserUR extends AnyUR {
private final List<LinkedAccountUR> linkedAccounts = new ArrayList<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.request.UserUR")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.request.UserUR")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -186,30 +183,26 @@ public class UserUR extends AnyUR {
this.mustChangePassword = mustChangePassword;
}
- @XmlElementWrapper(name = "relationships")
- @XmlElement(name = "relationship")
- @JsonProperty("relationships")
+ @JacksonXmlElementWrapper(localName = "relationships")
+ @JacksonXmlProperty(localName = "relationship")
public Set<RelationshipUR> getRelationships() {
return relationships;
}
- @XmlElementWrapper(name = "memberships")
- @XmlElement(name = "membership")
- @JsonProperty("memberships")
+ @JacksonXmlElementWrapper(localName = "memberships")
+ @JacksonXmlProperty(localName = "membership")
public Set<MembershipUR> getMemberships() {
return memberships;
}
- @XmlElementWrapper(name = "roles")
- @XmlElement(name = "role")
- @JsonProperty("roles")
+ @JacksonXmlElementWrapper(localName = "roles")
+ @JacksonXmlProperty(localName = "role")
public Set<StringPatchItem> getRoles() {
return roles;
}
- @XmlElementWrapper(name = "linkedAccounts")
- @XmlElement(name = "linkedAccount")
- @JsonProperty("linkedAccounts")
+ @JacksonXmlElementWrapper(localName = "linkedAccounts")
+ @JacksonXmlProperty(localName = "linkedAccount")
public List<LinkedAccountUR> getLinkedAccounts() {
return linkedAccounts;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/package-info.java
deleted file mode 100644
index 4f2bccf..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/request/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.request;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/AbstractFiqlSearchConditionBuilder.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/AbstractFiqlSearchConditionBuilder.java
index b16d652..6ddeaf8 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/AbstractFiqlSearchConditionBuilder.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/AbstractFiqlSearchConditionBuilder.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.common.lib.search;
-import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -26,12 +25,13 @@ import org.apache.cxf.jaxrs.ext.search.SearchUtils;
import org.apache.cxf.jaxrs.ext.search.client.CompleteCondition;
import org.apache.cxf.jaxrs.ext.search.client.FiqlSearchConditionBuilder;
import org.apache.cxf.jaxrs.ext.search.fiql.FiqlParser;
+import org.apache.syncope.common.lib.BaseBean;
public abstract class AbstractFiqlSearchConditionBuilder<
P extends SyncopeProperty<C>,
PA extends SyncopePartialCondition<P, C>,
C extends SyncopeCompleteCondition<PA, P>>
- extends FiqlSearchConditionBuilder implements Serializable {
+ extends FiqlSearchConditionBuilder implements BaseBean {
private static final long serialVersionUID = 9043884238032703381L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
deleted file mode 100644
index e510f6f..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.search;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
index aad8578..5a36ebb 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractStartEndBean.java
@@ -21,15 +21,11 @@ package org.apache.syncope.common.lib.to;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import java.util.Optional;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.BaseBean;
-@XmlType
-@XmlSeeAlso({ ExecTO.class, ReportTO.class, TaskTO.class })
-public class AbstractStartEndBean extends BaseBean {
+public class AbstractStartEndBean implements BaseBean {
private static final long serialVersionUID = 2399577415544539917L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
index 54a9318..c8e0784 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
@@ -20,16 +20,10 @@ package org.apache.syncope.common.lib.to;
import java.util.Date;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "accessToken")
-@XmlType
-public class AccessTokenTO extends BaseBean implements EntityTO {
+public class AccessTokenTO implements EntityTO {
private static final long serialVersionUID = 6577639976115661357L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyObjectTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyObjectTO.java
index a2973f9..affa167 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyObjectTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyObjectTO.java
@@ -20,20 +20,15 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "anyObject")
-@XmlType
@Schema(allOf = { AnyTO.class })
public class AnyObjectTO extends AnyTO implements GroupableRelatableTO {
@@ -47,9 +42,9 @@ public class AnyObjectTO extends AnyTO implements GroupableRelatableTO {
private final List<MembershipTO> dynMemberships = new ArrayList<>();
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.AnyObjectTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.AnyObjectTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -71,9 +66,8 @@ public class AnyObjectTO extends AnyTO implements GroupableRelatableTO {
findFirst();
}
- @XmlElementWrapper(name = "relationships")
- @XmlElement(name = "relationship")
- @JsonProperty("relationships")
+ @JacksonXmlElementWrapper(localName = "relationships")
+ @JacksonXmlProperty(localName = "relationship")
@Override
public List<RelationshipTO> getRelationships() {
return relationships;
@@ -85,17 +79,15 @@ public class AnyObjectTO extends AnyTO implements GroupableRelatableTO {
return memberships.stream().filter(membership -> groupKey.equals(membership.getGroupKey())).findFirst();
}
- @XmlElementWrapper(name = "memberships")
- @XmlElement(name = "membership")
- @JsonProperty("memberships")
+ @JacksonXmlElementWrapper(localName = "memberships")
+ @JacksonXmlProperty(localName = "membership")
@Override
public List<MembershipTO> getMemberships() {
return memberships;
}
- @XmlElementWrapper(name = "dynMemberships")
- @XmlElement(name = "dynMembership")
- @JsonProperty("dynMemberships")
+ @JacksonXmlElementWrapper(localName = "dynMemberships")
+ @JacksonXmlProperty(localName = "dynMembership")
@Override
public List<MembershipTO> getDynMemberships() {
return dynMemberships;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
index 5eef16c..942ffc0 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
@@ -23,6 +23,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Date;
@@ -30,28 +32,20 @@ import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.RealmMember;
-@XmlType
-@XmlSeeAlso({ UserTO.class, GroupTO.class, AnyObjectTO.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class", "key", "type", "realm", "username", "name" })
-@Schema(subTypes = { UserTO.class, GroupTO.class, AnyObjectTO.class }, discriminatorProperty = "@class")
-public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class", "key", "type", "realm", "username", "name" })
+@Schema(subTypes = { UserTO.class, GroupTO.class, AnyObjectTO.class }, discriminatorProperty = "_class")
+public abstract class AnyTO implements EntityTO, RealmMember {
private static final long serialVersionUID = -754311920679872084L;
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
/**
@@ -98,7 +92,7 @@ public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
private final Set<String> resources = new HashSet<>();
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
@@ -188,9 +182,8 @@ public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
this.realm = realm;
}
- @XmlElementWrapper(name = "dynRealms")
- @XmlElement(name = "dynRealmF")
- @JsonProperty("dynRealms")
+ @JacksonXmlElementWrapper(localName = "dynRealms")
+ @JacksonXmlProperty(localName = "dynRealmF")
public List<String> getDynRealms() {
return dynRealms;
}
@@ -203,17 +196,15 @@ public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
this.status = status;
}
- @XmlElementWrapper(name = "auxClasses")
- @XmlElement(name = "class")
- @JsonProperty("auxClasses")
+ @JacksonXmlElementWrapper(localName = "auxClasses")
+ @JacksonXmlProperty(localName = "class")
@Override
public Set<String> getAuxClasses() {
return auxClasses;
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
@Override
public Set<Attr> getPlainAttrs() {
return plainAttrs;
@@ -225,9 +216,8 @@ public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
return plainAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "derAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("derAttrs")
+ @JacksonXmlElementWrapper(localName = "derAttrs")
+ @JacksonXmlProperty(localName = "derAttr")
@Override
public Set<Attr> getDerAttrs() {
return derAttrs;
@@ -239,9 +229,8 @@ public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
return derAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
@Override
public Set<Attr> getVirAttrs() {
return virAttrs;
@@ -253,9 +242,6 @@ public abstract class AnyTO extends BaseBean implements EntityTO, RealmMember {
return virAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
@Override
public Set<String> getResources() {
return resources;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
index dd3166c..40615bf 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
@@ -18,17 +18,12 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "anyTypeClass")
-@XmlType
public class AnyTypeClassTO implements EntityTO {
private static final long serialVersionUID = -591757688607551266L;
@@ -54,32 +49,27 @@ public class AnyTypeClassTO implements EntityTO {
this.key = key;
}
- @XmlElementWrapper(name = "plainSchemas")
- @XmlElement(name = "schema")
- @JsonProperty("plainSchemas")
+ @JacksonXmlElementWrapper(localName = "plainSchemas")
+ @JacksonXmlProperty(localName = "plainSchema")
public List<String> getPlainSchemas() {
return plainSchemas;
}
- @XmlElementWrapper(name = "derSchemas")
- @XmlElement(name = "schema")
- @JsonProperty("derSchemas")
+ @JacksonXmlElementWrapper(localName = "derSchemas")
+ @JacksonXmlProperty(localName = "derSchema")
public List<String> getDerSchemas() {
return derSchemas;
}
- @XmlElementWrapper(name = "virSchemas")
- @XmlElement(name = "schema")
- @JsonProperty("virSchemas")
+ @JacksonXmlElementWrapper(localName = "virSchemas")
+ @JacksonXmlProperty(localName = "virSchema")
public List<String> getVirSchemas() {
return virSchemas;
}
- @XmlElementWrapper(name = "inUseByTypes")
- @XmlElement(name = "anyTypeClass")
- @JsonProperty("inUseByTypes")
+ @JacksonXmlElementWrapper(localName = "inUseByTypes")
+ @JacksonXmlProperty(localName = "inUseByType")
public List<String> getInUseByTypes() {
return inUseByTypes;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
index 53c9e66..94dd6ff 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
@@ -18,20 +18,15 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.AnyTypeKind;
-@XmlRootElement(name = "anyType")
-@XmlType
public class AnyTypeTO implements EntityTO {
private static final long serialVersionUID = 6771657557616874373L;
@@ -61,9 +56,8 @@ public class AnyTypeTO implements EntityTO {
this.kind = kind;
}
- @XmlElementWrapper(name = "classes")
- @XmlElement(name = "class")
- @JsonProperty("classes")
+ @JacksonXmlElementWrapper(localName = "classes")
+ @JacksonXmlProperty(localName = "class")
public List<String> getClasses() {
return classes;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ApplicationTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ApplicationTO.java
index 7283386..f9c3732 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ApplicationTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ApplicationTO.java
@@ -18,17 +18,12 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "application")
-@XmlType
public class ApplicationTO implements EntityTO {
private static final long serialVersionUID = -4117796727736925215L;
@@ -58,11 +53,9 @@ public class ApplicationTO implements EntityTO {
this.description = description;
}
- @XmlElementWrapper(name = "privileges")
- @XmlElement(name = "privilege")
- @JsonProperty("privileges")
+ @JacksonXmlElementWrapper(localName = "privileges")
+ @JacksonXmlProperty(localName = "privilege")
public List<PrivilegeTO> getPrivileges() {
return privileges;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
index fa5db9d..fc1158f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
@@ -19,30 +19,24 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.LinkedHashSet;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.Attr;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "connObject")
-@XmlType
-public class ConnObjectTO implements Serializable {
+public class ConnObjectTO implements BaseBean {
private static final long serialVersionUID = 5139554911265442497L;
private final Set<Attr> attrs = new LinkedHashSet<>();
- @XmlElementWrapper(name = "attrs")
- @XmlElement(name = "attribute")
- @JsonProperty("attrs")
+ @JacksonXmlElementWrapper(localName = "attrs")
+ @JacksonXmlProperty(localName = "attr")
public Set<Attr> getAttrs() {
return attrs;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DerSchemaTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DerSchemaTO.java
index 5477fca..b467ce2 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DerSchemaTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DerSchemaTO.java
@@ -19,15 +19,11 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "derSchema")
-@XmlType
@Schema(allOf = { SchemaTO.class })
public class DerSchemaTO extends SchemaTO {
@@ -35,9 +31,9 @@ public class DerSchemaTO extends SchemaTO {
private String expression;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.DerSchemaTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.DerSchemaTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DynRealmTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DynRealmTO.java
index ee5d5bc..e8a3033 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DynRealmTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/DynRealmTO.java
@@ -18,24 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
-@XmlRootElement(name = "dynRealm")
-@XmlType
public class DynRealmTO implements EntityTO {
private static final long serialVersionUID = 4560822655754800031L;
private String key;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> dynMembershipConds = new HashMap<>();
@Override
@@ -49,7 +41,6 @@ public class DynRealmTO implements EntityTO {
this.key = key;
}
- @JsonProperty
public Map<String, String> getDynMembershipConds() {
return dynMembershipConds;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/EntityTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/EntityTO.java
index c07749f..e2d158f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/EntityTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/EntityTO.java
@@ -18,9 +18,9 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
+import org.apache.syncope.common.lib.BaseBean;
-public interface EntityTO extends Serializable {
+public interface EntityTO extends BaseBean {
String getKey();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ErrorTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ErrorTO.java
index 378b814..4460ae1 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ErrorTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ErrorTO.java
@@ -18,19 +18,14 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.ClientExceptionType;
-@XmlRootElement(name = "error")
-@XmlType
-public class ErrorTO implements Serializable {
+public class ErrorTO implements BaseBean {
private static final long serialVersionUID = 2435764161719225927L;
@@ -56,11 +51,9 @@ public class ErrorTO implements Serializable {
this.type = type;
}
- @XmlElementWrapper(name = "elements")
- @XmlElement(name = "element")
- @JsonProperty("elements")
+ @JacksonXmlElementWrapper(localName = "elements")
+ @JacksonXmlProperty(localName = "element")
public List<String> getElements() {
return elements;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ExecTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ExecTO.java
index 1f98a5d..80eb0f8 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ExecTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ExecTO.java
@@ -18,14 +18,10 @@
*/
package org.apache.syncope.common.lib.to;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.JobType;
-@XmlRootElement(name = "exec")
-@XmlType()
public class ExecTO extends AbstractStartEndBean implements EntityTO {
private static final long serialVersionUID = -4621191979198357081L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/GroupTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/GroupTO.java
index a7247d9..c0a1005 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/GroupTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/GroupTO.java
@@ -20,25 +20,18 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
import org.apache.syncope.common.lib.types.AnyTypeKind;
-@XmlRootElement(name = "group")
-@XmlType
@Schema(allOf = { AnyTO.class })
public class GroupTO extends AnyTO {
@@ -60,14 +53,13 @@ public class GroupTO extends AnyTO {
private int dynamicAnyObjectMembershipCount;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> adynMembershipConds = new HashMap<>();
private final List<TypeExtensionTO> typeExtensions = new ArrayList<>();
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.GroupTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.GroupTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -147,7 +139,6 @@ public class GroupTO extends AnyTO {
this.dynamicAnyObjectMembershipCount = dynamicAnyObjectMembershipCount;
}
- @JsonProperty
public Map<String, String> getADynMembershipConds() {
return adynMembershipConds;
}
@@ -159,9 +150,8 @@ public class GroupTO extends AnyTO {
findFirst();
}
- @XmlElementWrapper(name = "typeExtensions")
- @XmlElement(name = "typeExtension")
- @JsonProperty("typeExtensions")
+ @JacksonXmlElementWrapper(localName = "typeExtensions")
+ @JacksonXmlProperty(localName = "typeExtension")
public List<TypeExtensionTO> getTypeExtensions() {
return typeExtensions;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ImplementationTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ImplementationTO.java
index c68bf5c..a328a4b 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ImplementationTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ImplementationTO.java
@@ -19,14 +19,10 @@
package org.apache.syncope.common.lib.to;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.ImplementationEngine;
-@XmlRootElement(name = "implementation")
-@XmlType
public class ImplementationTO implements EntityTO {
private static final long serialVersionUID = 2703397698393060586L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemContainerTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemContainerTO.java
index a76fe10..a8b3ff3 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemContainerTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemContainerTO.java
@@ -19,8 +19,9 @@
package org.apache.syncope.common.lib.to;
import java.util.List;
+import org.apache.syncope.common.lib.BaseBean;
-public interface ItemContainerTO {
+public interface ItemContainerTO extends BaseBean {
ItemTO getConnObjectKeyItem();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java
index 37b397d..2bd53ca 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ItemTO.java
@@ -18,19 +18,14 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.MappingPurpose;
-@XmlRootElement(name = "item")
-@XmlType
public class ItemTO implements EntityTO {
private static final long serialVersionUID = 2983498836767176862L;
@@ -154,9 +149,8 @@ public class ItemTO implements EntityTO {
this.pullJEXLTransformer = pullJEXLTransformer;
}
- @XmlElementWrapper(name = "transformers")
- @XmlElement(name = "transformer")
- @JsonProperty("transformers")
+ @JacksonXmlElementWrapper(localName = "transformers")
+ @JacksonXmlProperty(localName = "transformer")
public List<String> getTransformers() {
return transformers;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/JobTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/JobTO.java
index 66ceed9..58d9fce 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/JobTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/JobTO.java
@@ -18,17 +18,12 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
import java.util.Date;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.JobType;
-@XmlRootElement(name = "job")
-@XmlType
-public class JobTO implements Serializable {
+public class JobTO implements BaseBean {
private static final long serialVersionUID = -7254450981751326711L;
@@ -101,5 +96,4 @@ public class JobTO implements Serializable {
public void setStatus(final String status) {
this.status = status;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/LinkedAccountTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/LinkedAccountTO.java
index 4697cd1..72dd158 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/LinkedAccountTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/LinkedAccountTO.java
@@ -19,20 +19,15 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.Attr;
-@XmlRootElement(name = "linkedAccount")
-@XmlType
public class LinkedAccountTO implements EntityTO {
private static final long serialVersionUID = 7396929732310559535L;
@@ -137,9 +132,8 @@ public class LinkedAccountTO implements EntityTO {
this.suspended = suspended;
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
public Set<Attr> getPlainAttrs() {
return plainAttrs;
}
@@ -149,9 +143,8 @@ public class LinkedAccountTO implements EntityTO {
return plainAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "privileges")
- @XmlElement(name = "privilege")
- @JsonProperty("privileges")
+ @JacksonXmlElementWrapper(localName = "privileges")
+ @JacksonXmlProperty(localName = "privilege")
public Set<String> getPrivileges() {
return privileges;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java
index d93bce3..72fdce1 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MailTemplateTO.java
@@ -19,13 +19,9 @@
package org.apache.syncope.common.lib.to;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "mailTemplate")
-@XmlType
public class MailTemplateTO implements EntityTO {
private static final long serialVersionUID = 8389755049666062735L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
index 6625654..d129b21 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
@@ -23,23 +23,18 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.syncope.common.lib.Attr;
import org.apache.syncope.common.lib.Attributable;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "membership")
-@XmlType
-public class MembershipTO implements Serializable, Attributable {
+public class MembershipTO implements BaseBean, Attributable {
private static final long serialVersionUID = 5992828670273935861L;
@@ -117,9 +112,8 @@ public class MembershipTO implements Serializable, Attributable {
this.groupName = groupName;
}
- @XmlElementWrapper(name = "plainAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("plainAttrs")
+ @JacksonXmlElementWrapper(localName = "plainAttrs")
+ @JacksonXmlProperty(localName = "plainAttr")
@Override
public Set<Attr> getPlainAttrs() {
return plainAttrs;
@@ -131,9 +125,8 @@ public class MembershipTO implements Serializable, Attributable {
return plainAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "derAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("derAttrs")
+ @JacksonXmlElementWrapper(localName = "derAttrs")
+ @JacksonXmlProperty(localName = "derAttr")
@Override
public Set<Attr> getDerAttrs() {
return derAttrs;
@@ -145,9 +138,8 @@ public class MembershipTO implements Serializable, Attributable {
return derAttrs.stream().filter(attr -> attr.getSchema().equals(schema)).findFirst();
}
- @XmlElementWrapper(name = "virAttrs")
- @XmlElement(name = "attribute")
- @JsonProperty("virAttrs")
+ @JacksonXmlElementWrapper(localName = "virAttrs")
+ @JacksonXmlProperty(localName = "virAttr")
@Override
public Set<Attr> getVirAttrs() {
return virAttrs;
@@ -194,8 +186,8 @@ public class MembershipTO implements Serializable, Attributable {
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.SIMPLE_STYLE).
- append(this.groupKey).
- append(this.groupName).
- build();
+ append(this.groupKey).
+ append(this.groupName).
+ build();
}
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
index f421459..2fbf123 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
@@ -18,24 +18,17 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
import org.apache.syncope.common.lib.types.TraceLevel;
-@XmlRootElement(name = "notification")
-@XmlType
public class NotificationTO implements EntityTO {
private static final long serialVersionUID = -6145117115632592612L;
@@ -44,7 +37,6 @@ public class NotificationTO implements EntityTO {
private final List<String> events = new ArrayList<>();
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> abouts = new HashMap<>();
private String recipientsFIQL;
@@ -67,21 +59,18 @@ public class NotificationTO implements EntityTO {
private boolean active;
- @JsonProperty
public Map<String, String> getAbouts() {
return abouts;
}
- @XmlElementWrapper(name = "events")
- @XmlElement(name = "event")
- @JsonProperty("events")
+ @JacksonXmlElementWrapper(localName = "events")
+ @JacksonXmlProperty(localName = "event")
public List<String> getEvents() {
return events;
}
- @XmlElementWrapper(name = "staticRecipients")
- @XmlElement(name = "staticRecipient")
- @JsonProperty("staticRecipients")
+ @JacksonXmlElementWrapper(localName = "staticRecipients")
+ @JacksonXmlProperty(localName = "staticRecipient")
public List<String> getStaticRecipients() {
return staticRecipients;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTaskTO.java
index 5ea6618..18bc4ad 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTaskTO.java
@@ -19,21 +19,16 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashSet;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.TraceLevel;
-@XmlRootElement(name = "notificationTask")
-@XmlType
@Schema(allOf = { TaskTO.class })
public class NotificationTaskTO extends TaskTO {
@@ -59,9 +54,9 @@ public class NotificationTaskTO extends TaskTO {
private TraceLevel traceLevel;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.NotificationTaskTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.NotificationTaskTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -95,9 +90,8 @@ public class NotificationTaskTO extends TaskTO {
}
@Schema(accessMode = Schema.AccessMode.READ_ONLY)
- @XmlElementWrapper(name = "recipients")
- @XmlElement(name = "recipient")
- @JsonProperty("recipients")
+ @JacksonXmlElementWrapper(localName = "recipients")
+ @JacksonXmlProperty(localName = "recipient")
public Set<String> getRecipients() {
return recipients;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PagedResult.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PagedResult.java
index 27401d6..b098076 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PagedResult.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PagedResult.java
@@ -18,23 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "pagedResult")
-@XmlType
-public class PagedResult<T extends BaseBean> implements Serializable {
+public class PagedResult<T extends BaseBean> implements BaseBean {
private static final long serialVersionUID = 3472875885259250934L;
@@ -66,10 +59,8 @@ public class PagedResult<T extends BaseBean> implements Serializable {
this.next = next;
}
- @XmlElementWrapper(name = "result")
- @XmlElement(name = "item")
- @JsonProperty("result")
- @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
+ @JacksonXmlElementWrapper(localName = "result")
+ @JacksonXmlProperty(localName = "item")
public List<T> getResult() {
return result;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
index 338b642..5525b5b 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
@@ -19,19 +19,14 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.AttrSchemaType;
import org.apache.syncope.common.lib.types.CipherAlgorithm;
-@XmlRootElement(name = "plainSchema")
-@XmlType
@Schema(allOf = { SchemaTO.class })
public class PlainSchemaTO extends SchemaTO {
@@ -61,9 +56,9 @@ public class PlainSchemaTO extends SchemaTO {
private String mimeType;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.PlainSchemaTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.PlainSchemaTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PrivilegeTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PrivilegeTO.java
index 228bc99..946f91a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PrivilegeTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PrivilegeTO.java
@@ -19,11 +19,7 @@
package org.apache.syncope.common.lib.to;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "privilege")
-@XmlType
public class PrivilegeTO implements EntityTO {
private static final long serialVersionUID = 5461846770586031758L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationStatus.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationStatus.java
index c6d1e0e..e41b447 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationStatus.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationStatus.java
@@ -18,19 +18,15 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.types.ExecStatus;
/**
* Single propagation status.
*/
-@XmlRootElement(name = "propagationStatus")
-@XmlType
-public class PropagationStatus implements Serializable {
+public class PropagationStatus implements BaseBean {
private static final long serialVersionUID = 3921498450222857690L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationTaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationTaskTO.java
index 5b06fcc..ecf8f5a 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationTaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PropagationTaskTO.java
@@ -19,18 +19,13 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.ResourceOperation;
-@XmlRootElement(name = "propagationTask")
-@XmlType
@Schema(allOf = { TaskTO.class })
public class PropagationTaskTO extends TaskTO {
@@ -54,16 +49,15 @@ public class PropagationTaskTO extends TaskTO {
private String entityKey;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.PropagationTaskTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.PropagationTaskTO")
@Override
public String getDiscriminator() {
return getClass().getName();
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getConnObjectKey() {
return connObjectKey;
}
@@ -81,7 +75,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getResource() {
return resource;
}
@@ -91,7 +84,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public ResourceOperation getOperation() {
return operation;
}
@@ -101,7 +93,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getAttributes() {
return attributes;
}
@@ -111,7 +102,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getObjectClassName() {
return objectClassName;
}
@@ -121,7 +111,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public AnyTypeKind getAnyTypeKind() {
return anyTypeKind;
}
@@ -131,7 +120,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getAnyType() {
return anyType;
}
@@ -141,7 +129,6 @@ public class PropagationTaskTO extends TaskTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getEntityKey() {
return entityKey;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningResult.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningResult.java
index 09bae8a..9470284 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningResult.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningResult.java
@@ -18,35 +18,22 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlEntityTOAdapter;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "provisioningResult")
-@XmlType
-public class ProvisioningResult<E extends EntityTO> implements Serializable {
+public class ProvisioningResult<E extends EntityTO> implements BaseBean {
private static final long serialVersionUID = 351317476398082746L;
- @XmlJavaTypeAdapter(XmlEntityTOAdapter.class)
private E entity;
private final List<PropagationStatus> propagationStatuses = new ArrayList<>();
- @XmlTransient
- @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
- @JsonProperty
public E getEntity() {
return entity;
}
@@ -55,9 +42,8 @@ public class ProvisioningResult<E extends EntityTO> implements Serializable {
this.entity = entity;
}
- @XmlElementWrapper(name = "propagationStatuses")
- @XmlElement(name = "propagationStatus")
- @JsonProperty("propagationStatuses")
+ @JacksonXmlElementWrapper(localName = "propagationStatuses")
+ @JacksonXmlProperty(localName = "propagationStatus")
public List<PropagationStatus> getPropagationStatuses() {
return propagationStatuses;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningTaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningTaskTO.java
index c1f8540..2632cdf 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningTaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ProvisioningTaskTO.java
@@ -19,24 +19,18 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.MatchingRule;
import org.apache.syncope.common.lib.types.UnmatchingRule;
-@XmlRootElement(name = "provisioningTask")
-@XmlType
-@XmlSeeAlso({ PushTaskTO.class, PullTaskTO.class })
@Schema(allOf = { SchedTaskTO.class },
- subTypes = { PushTaskTO.class, PullTaskTO.class }, discriminatorProperty = "@class")
+ subTypes = { PushTaskTO.class, PullTaskTO.class }, discriminatorProperty = "_class")
public abstract class ProvisioningTaskTO extends SchedTaskTO {
private static final long serialVersionUID = -5722284116974636425L;
@@ -58,7 +52,6 @@ public abstract class ProvisioningTaskTO extends SchedTaskTO {
private final List<String> actions = new ArrayList<>();
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getResource() {
return resource;
}
@@ -99,9 +92,8 @@ public abstract class ProvisioningTaskTO extends SchedTaskTO {
this.syncStatus = syncStatus;
}
- @XmlElementWrapper(name = "actions")
- @XmlElement(name = "action")
- @JsonProperty("actions")
+ @JacksonXmlElementWrapper(localName = "actions")
+ @JacksonXmlProperty(localName = "action")
public List<String> getActions() {
return actions;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PullTaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PullTaskTO.java
index f32b554..425eb28 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PullTaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PullTaskTO.java
@@ -19,50 +19,37 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
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.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
import org.apache.syncope.common.lib.types.PullMode;
-@XmlRootElement(name = "pullTask")
-@XmlType
-@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { ProvisioningTaskTO.class })
public class PullTaskTO extends ProvisioningTaskTO implements TemplatableTO {
private static final long serialVersionUID = -2143537546915809017L;
@JsonProperty(required = true)
- @XmlElement(required = true)
private PullMode pullMode;
private String reconFilterBuilder;
@JsonProperty(required = true)
- @XmlElement(required = true)
private String destinationRealm;
private boolean remediation;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.PullTaskTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.PullTaskTO")
@Override
public String getDiscriminator() {
return getClass().getName();
}
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, AnyTO> templates = new HashMap<>();
public PullMode getPullMode() {
@@ -89,7 +76,6 @@ public class PullTaskTO extends ProvisioningTaskTO implements TemplatableTO {
this.destinationRealm = destinationRealm;
}
- @JsonProperty
@Override
public Map<String, AnyTO> getTemplates() {
return templates;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PushTaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PushTaskTO.java
index a1eaf11..6c41491 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PushTaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/PushTaskTO.java
@@ -19,38 +19,26 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
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.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
-@XmlRootElement(name = "pushTask")
-@XmlType
-@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { ProvisioningTaskTO.class })
public class PushTaskTO extends ProvisioningTaskTO {
private static final long serialVersionUID = -2143537546915809018L;
@JsonProperty(required = true)
- @XmlElement(required = true)
private String sourceRealm;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, String> filters = new HashMap<>();
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.PushTaskTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.PushTaskTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
index 037f782..6e7158f 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
@@ -18,7 +18,8 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -26,19 +27,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.BaseBean;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
-@XmlRootElement(name = "realm")
-@XmlType
-public class RealmTO extends BaseBean implements NamedEntityTO, TemplatableTO {
+public class RealmTO implements NamedEntityTO, TemplatableTO {
private static final long serialVersionUID = 516330662956254391L;
@@ -62,7 +54,6 @@ public class RealmTO extends BaseBean implements NamedEntityTO, TemplatableTO {
private final List<String> actions = new ArrayList<>();
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<String, AnyTO> templates = new HashMap<>();
private final Set<String> resources = new HashSet<>();
@@ -144,22 +135,19 @@ public class RealmTO extends BaseBean implements NamedEntityTO, TemplatableTO {
this.attrReleasePolicy = attrReleasePolicy;
}
- @XmlElementWrapper(name = "actions")
- @XmlElement(name = "action")
- @JsonProperty("actions")
+ @JacksonXmlElementWrapper(localName = "actions")
+ @JacksonXmlProperty(localName = "action")
public List<String> getActions() {
return actions;
}
- @JsonProperty
@Override
public Map<String, AnyTO> getTemplates() {
return templates;
}
- @XmlElementWrapper(name = "resources")
- @XmlElement(name = "resource")
- @JsonProperty("resources")
+ @JacksonXmlElementWrapper(localName = "resources")
+ @JacksonXmlProperty(localName = "resource")
public Set<String> getResources() {
return resources;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTO.java
index efc9d76..fd491ce 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTO.java
@@ -18,15 +18,11 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "relationship")
-@XmlType
-public class RelationshipTO implements Serializable {
+public class RelationshipTO implements BaseBean {
private static final long serialVersionUID = 360672942026613929L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTypeTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTypeTO.java
index 5db2ac4..0475ee2 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTypeTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RelationshipTypeTO.java
@@ -19,11 +19,7 @@
package org.apache.syncope.common.lib.to;
import javax.ws.rs.Path;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "relationshipType")
-@XmlType
public class RelationshipTypeTO implements EntityTO {
private static final long serialVersionUID = -1884088415277925817L;
@@ -50,5 +46,4 @@ public class RelationshipTypeTO implements EntityTO {
public void setDescription(final String description) {
this.description = description;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
index 2c034ff..364ea00 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
@@ -18,22 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
-
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "report")
-@XmlType
public class ReportTO extends AbstractStartEndBean implements NamedEntityTO {
private static final long serialVersionUID = 5274568072084814410L;
@@ -59,7 +53,7 @@ public class ReportTO extends AbstractStartEndBean implements NamedEntityTO {
private String template;
private String lastExecutor;
-
+
@Override
public String getKey() {
return key;
@@ -81,9 +75,8 @@ public class ReportTO extends AbstractStartEndBean implements NamedEntityTO {
this.name = name;
}
- @XmlElementWrapper(name = "reportlets")
- @XmlElement(name = "reportlets")
- @JsonProperty("reportlets")
+ @JacksonXmlElementWrapper(localName = "reportlets")
+ @JacksonXmlProperty(localName = "reportlets")
public List<String> getReportlets() {
return reportlets;
}
@@ -96,9 +89,8 @@ public class ReportTO extends AbstractStartEndBean implements NamedEntityTO {
this.cronExpression = cronExpression;
}
- @XmlElementWrapper(name = "executions")
- @XmlElement(name = "execution")
- @JsonProperty("executions")
+ @JacksonXmlElementWrapper(localName = "executions")
+ @JacksonXmlProperty(localName = "execution")
public List<ExecTO> getExecutions() {
return executions;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTemplateTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTemplateTO.java
index 8a7d8e6..03aaa9e 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTemplateTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTemplateTO.java
@@ -19,11 +19,7 @@
package org.apache.syncope.common.lib.to;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-@XmlRootElement(name = "reportTemplate")
-@XmlType
public class ReportTemplateTO implements EntityTO {
private static final long serialVersionUID = 7776679004906244896L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
index 97a764f..3be4d55 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
@@ -18,21 +18,16 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "role")
-@XmlType
public class RoleTO implements EntityTO {
private static final long serialVersionUID = 4560822655754800031L;
@@ -60,23 +55,20 @@ public class RoleTO implements EntityTO {
this.key = key;
}
- @XmlElementWrapper(name = "entitlements")
- @XmlElement(name = "entitlement")
- @JsonProperty("entitlements")
+ @JacksonXmlElementWrapper(localName = "entitlements")
+ @JacksonXmlProperty(localName = "entitlement")
public Set<String> getEntitlements() {
return entitlements;
}
- @XmlElementWrapper(name = "realms")
- @XmlElement(name = "realm")
- @JsonProperty("realms")
+ @JacksonXmlElementWrapper(localName = "realms")
+ @JacksonXmlProperty(localName = "realm")
public List<String> getRealms() {
return realms;
}
- @XmlElementWrapper(name = "dynRealms")
- @XmlElement(name = "dynRealm")
- @JsonProperty("dynRealms")
+ @JacksonXmlElementWrapper(localName = "dynRealms")
+ @JacksonXmlProperty(localName = "dynRealm")
public List<String> getDynRealms() {
return dynRealms;
}
@@ -89,9 +81,8 @@ public class RoleTO implements EntityTO {
this.dynMembershipCond = dynMembershipCond;
}
- @XmlElementWrapper(name = "privileges")
- @XmlElement(name = "privilege")
- @JsonProperty("privileges")
+ @JacksonXmlElementWrapper(localName = "privileges")
+ @JacksonXmlProperty(localName = "privilege")
public Set<String> getPrivileges() {
return privileges;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
index 3bb8162..75d7b40 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
@@ -19,22 +19,14 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import java.util.Optional;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "schedTask")
-@XmlType
-@XmlSeeAlso({ ProvisioningTaskTO.class })
-@Schema(allOf = { TaskTO.class }, subTypes = { ProvisioningTaskTO.class }, discriminatorProperty = "@class")
+@Schema(allOf = { TaskTO.class }, subTypes = { ProvisioningTaskTO.class }, discriminatorProperty = "_class")
public class SchedTaskTO extends TaskTO implements NamedEntityTO {
private static final long serialVersionUID = -5722284116974636425L;
@@ -55,9 +47,9 @@ public class SchedTaskTO extends TaskTO implements NamedEntityTO {
private boolean active = true;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.SchedTaskTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.SchedTaskTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -119,7 +111,6 @@ public class SchedTaskTO extends TaskTO implements NamedEntityTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
@Override
public void setName(final String name) {
this.name = name;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchemaTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchemaTO.java
index 2d5f752..ed102c7 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchemaTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SchemaTO.java
@@ -22,42 +22,33 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
-
-@XmlRootElement(name = "schema")
-@XmlType
-@XmlSeeAlso({ PlainSchemaTO.class, DerSchemaTO.class, VirSchemaTO.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class", "key" })
-@Schema(subTypes = { PlainSchemaTO.class, DerSchemaTO.class, VirSchemaTO.class }, discriminatorProperty = "@class")
+
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class", "key" })
+@Schema(subTypes = { PlainSchemaTO.class, DerSchemaTO.class, VirSchemaTO.class }, discriminatorProperty = "_class")
public abstract class SchemaTO implements EntityTO {
private static final long serialVersionUID = 4088388951694301759L;
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
private String key;
private String anyTypeClass;
- @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
private final Map<Locale, String> labels = new HashMap<>();
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
@@ -88,7 +79,6 @@ public abstract class SchemaTO implements EntityTO {
return labels.getOrDefault(locale, key);
}
- @JsonProperty
public Map<Locale, String> getLabels() {
return labels;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
index 9a6cf8b..7bc8c20 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
@@ -19,13 +19,9 @@
package org.apache.syncope.common.lib.to;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "securityQuestion")
-@XmlType
public class SecurityQuestionTO implements EntityTO {
private static final long serialVersionUID = 5969810939993556530L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java
index 6dd9d35..f10b0ca 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java
@@ -21,33 +21,26 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.PathParam;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "task")
-@XmlType
-@XmlSeeAlso({ PropagationTaskTO.class, ProvisioningTaskTO.class, NotificationTaskTO.class })
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@class")
-@JsonPropertyOrder(value = { "@class", "key" })
+@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "_class")
+@JsonPropertyOrder(value = { "_class", "key" })
@Schema(
subTypes = { PropagationTaskTO.class, ProvisioningTaskTO.class, NotificationTaskTO.class },
- discriminatorProperty = "@class")
+ discriminatorProperty = "_class")
public abstract class TaskTO extends AbstractStartEndBean implements EntityTO {
private static final long serialVersionUID = 386450127003321197L;
- @XmlTransient
- @JsonProperty("@class")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
private String discriminator;
private String key;
@@ -58,7 +51,7 @@ public abstract class TaskTO extends AbstractStartEndBean implements EntityTO {
private final List<ExecTO> executions = new ArrayList<>();
- @Schema(name = "@class", required = true)
+ @Schema(name = "_class", required = true)
public abstract String getDiscriminator();
public void setDiscriminator(final String discriminator) {
@@ -94,11 +87,10 @@ public abstract class TaskTO extends AbstractStartEndBean implements EntityTO {
public void setLastExecutor(final String lastExecutor) {
this.lastExecutor = lastExecutor;
}
-
+
@Schema(accessMode = Schema.AccessMode.READ_ONLY)
- @XmlElementWrapper(name = "executions")
- @XmlElement(name = "execution")
- @JsonProperty("executions")
+ @JacksonXmlElementWrapper(localName = "executions")
+ @JacksonXmlProperty(localName = "execution")
public List<ExecTO> getExecutions() {
return executions;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TemplatableTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TemplatableTO.java
index 2e77d1e..08e0850 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TemplatableTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TemplatableTO.java
@@ -18,11 +18,11 @@
*/
package org.apache.syncope.common.lib.to;
-import java.io.Serializable;
import java.util.Map;
+import org.apache.syncope.common.lib.BaseBean;
@FunctionalInterface
-public interface TemplatableTO extends Serializable {
+public interface TemplatableTO extends BaseBean {
Map<String, AnyTO> getTemplates();
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TypeExtensionTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TypeExtensionTO.java
index 3707221..0f35fe1 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TypeExtensionTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TypeExtensionTO.java
@@ -18,20 +18,15 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.syncope.common.lib.BaseBean;
-@XmlRootElement(name = "typeExtension")
-@XmlType
-public class TypeExtensionTO implements Serializable {
+public class TypeExtensionTO implements BaseBean {
private static final long serialVersionUID = -5422809645030924811L;
@@ -47,9 +42,8 @@ public class TypeExtensionTO implements Serializable {
this.anyType = anyType;
}
- @XmlElementWrapper(name = "auxClasses")
- @XmlElement(name = "class")
- @JsonProperty("auxClasses")
+ @JacksonXmlElementWrapper(localName = "auxClasses")
+ @JacksonXmlProperty(localName = "class")
public List<String> getAuxClasses() {
return auxClasses;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
index f7e823b..2711b80 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
@@ -20,6 +20,8 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.Date;
@@ -27,16 +29,10 @@ import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.syncope.common.lib.types.AnyTypeKind;
-@XmlRootElement(name = "user")
-@XmlType
@Schema(allOf = { AnyTO.class })
public class UserTO extends AnyTO implements GroupableRelatableTO {
@@ -78,8 +74,9 @@ public class UserTO extends AnyTO implements GroupableRelatableTO {
private final List<LinkedAccountTO> linkedAccounts = new ArrayList<>();
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.UserTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.UserTO")
@Override
public String getDiscriminator() {
return getClass().getName();
@@ -127,7 +124,6 @@ public class UserTO extends AnyTO implements GroupableRelatableTO {
}
@JsonProperty(required = true)
- @XmlElement(required = true)
public String getUsername() {
return username;
}
@@ -214,9 +210,8 @@ public class UserTO extends AnyTO implements GroupableRelatableTO {
findFirst();
}
- @XmlElementWrapper(name = "relationships")
- @XmlElement(name = "relationship")
- @JsonProperty("relationships")
+ @JacksonXmlElementWrapper(localName = "relationships")
+ @JacksonXmlProperty(localName = "relationship")
@Override
public List<RelationshipTO> getRelationships() {
return relationships;
@@ -228,46 +223,40 @@ public class UserTO extends AnyTO implements GroupableRelatableTO {
return memberships.stream().filter(membership -> groupKey.equals(membership.getGroupKey())).findFirst();
}
- @XmlElementWrapper(name = "memberships")
- @XmlElement(name = "membership")
- @JsonProperty("memberships")
+ @JacksonXmlElementWrapper(localName = "memberships")
+ @JacksonXmlProperty(localName = "membership")
@Override
public List<MembershipTO> getMemberships() {
return memberships;
}
- @XmlElementWrapper(name = "dynMemberships")
- @XmlElement(name = "dynMembership")
- @JsonProperty("dynMemberships")
+ @JacksonXmlElementWrapper(localName = "dynMemberships")
+ @JacksonXmlProperty(localName = "dynMembership")
@Override
public List<MembershipTO> getDynMemberships() {
return dynMemberships;
}
- @XmlElementWrapper(name = "roles")
- @XmlElement(name = "role")
- @JsonProperty("roles")
+ @JacksonXmlElementWrapper(localName = "roles")
+ @JacksonXmlProperty(localName = "role")
public List<String> getRoles() {
return roles;
}
- @XmlElementWrapper(name = "dynRoles")
- @XmlElement(name = "role")
- @JsonProperty("dynRoles")
+ @JacksonXmlElementWrapper(localName = "dynRoles")
+ @JacksonXmlProperty(localName = "dynRole")
public List<String> getDynRoles() {
return dynRoles;
}
- @XmlElementWrapper(name = "privileges")
- @XmlElement(name = "privilege")
- @JsonProperty("privileges")
+ @JacksonXmlElementWrapper(localName = "privileges")
+ @JacksonXmlProperty(localName = "privilege")
public Set<String> getPrivileges() {
return privileges;
}
- @XmlElementWrapper(name = "linkedAccounts")
- @XmlElement(name = "linkedAccount")
- @JsonProperty("linkedAccounts")
+ @JacksonXmlElementWrapper(localName = "linkedAccounts")
+ @JacksonXmlProperty(localName = "linkedAccount")
public List<LinkedAccountTO> getLinkedAccounts() {
return linkedAccounts;
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
index 7f6dac6..7150ff3 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
@@ -19,13 +19,11 @@
package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
-@XmlRootElement(name = "virSchema")
@Schema(allOf = { SchemaTO.class })
public class VirSchemaTO extends SchemaTO {
@@ -39,9 +37,9 @@ public class VirSchemaTO extends SchemaTO {
private String extAttrName;
- @XmlTransient
- @JsonProperty("@class")
- @Schema(name = "@class", required = true, example = "org.apache.syncope.common.lib.to.VirSchemaTO")
+ @JacksonXmlProperty(localName = "_class", isAttribute = true)
+ @JsonProperty("_class")
+ @Schema(name = "_class", required = true, example = "org.apache.syncope.common.lib.to.VirSchemaTO")
@Override
public String getDiscriminator() {
return getClass().getName();
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
deleted file mode 100644
index aff9f18..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.to;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AnyTypeKind.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AnyTypeKind.java
index 9971f13..168ac49 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AnyTypeKind.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AnyTypeKind.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
import org.apache.syncope.common.lib.request.AnyCR;
import org.apache.syncope.common.lib.request.AnyObjectCR;
import org.apache.syncope.common.lib.request.AnyObjectUR;
@@ -32,7 +31,6 @@ import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.UserTO;
-@XmlEnum
public enum AnyTypeKind {
USER(UserTO.class, UserCR.class, UserUR.class),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AttrSchemaType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AttrSchemaType.java
index be78979..b8e162d 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AttrSchemaType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AttrSchemaType.java
@@ -19,9 +19,7 @@
package org.apache.syncope.common.lib.types;
import java.util.Date;
-import javax.xml.bind.annotation.XmlEnum;
-@XmlEnum
public enum AttrSchemaType {
String(String.class),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditElements.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditElements.java
index e1116bd..d978bc7 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditElements.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditElements.java
@@ -18,10 +18,9 @@
*/
package org.apache.syncope.common.lib.types;
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlEnum;
+import org.apache.syncope.common.lib.BaseBean;
-public final class AuditElements implements Serializable {
+public final class AuditElements implements BaseBean {
private static final long serialVersionUID = -4385059255522273254L;
@@ -29,7 +28,6 @@ public final class AuditElements implements Serializable {
public static final String LOGIN_EVENT = "login";
- @XmlEnum
public enum EventCategoryType {
LOGIC("LOGIC"),
@@ -52,7 +50,6 @@ public final class AuditElements implements Serializable {
}
}
- @XmlEnum
public enum Result {
SUCCESS,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditLoggerName.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditLoggerName.java
index 1c2a05a..4298ead 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditLoggerName.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/AuditLoggerName.java
@@ -20,20 +20,19 @@ package org.apache.syncope.common.lib.types;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
import java.text.ParseException;
import java.util.Map;
import java.util.Optional;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.common.lib.BaseBean;
import org.apache.syncope.common.lib.log.EventCategory;
import org.apache.syncope.common.lib.types.AuditElements.EventCategoryType;
import org.apache.syncope.common.lib.types.AuditElements.Result;
-public class AuditLoggerName implements Serializable {
+public class AuditLoggerName implements BaseBean {
private static final long serialVersionUID = -647989486671786839L;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/CipherAlgorithm.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/CipherAlgorithm.java
index 6f88e65..f03ca78 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/CipherAlgorithm.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/CipherAlgorithm.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum CipherAlgorithm {
SHA("SHA-1", false),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ConflictResolutionAction.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ConflictResolutionAction.java
index 2064e91..59ed582 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ConflictResolutionAction.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ConflictResolutionAction.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ConflictResolutionAction {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/EntityViolationType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/EntityViolationType.java
index 462ee5f..7dc9345 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/EntityViolationType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/EntityViolationType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum EntityViolationType {
Standard(""),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ExecStatus.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ExecStatus.java
index 8b25c5e..2319ff1 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ExecStatus.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ExecStatus.java
@@ -19,12 +19,10 @@
package org.apache.syncope.common.lib.types;
import javax.ws.rs.core.Response;
-import javax.xml.bind.annotation.XmlEnum;
/**
* Status of some execution.
*/
-@XmlEnum
public enum ExecStatus {
CREATED(Response.Status.CREATED.getStatusCode()),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ImplementationEngine.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ImplementationEngine.java
index 36baddd..15b4443 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ImplementationEngine.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ImplementationEngine.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ImplementationEngine {
JAVA("application/java"),
@@ -35,5 +32,4 @@ public enum ImplementationEngine {
public String getMimeType() {
return mimeType;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobAction.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobAction.java
index dbf000b..36911fc 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobAction.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobAction.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum JobAction {
START,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobType.java
index bc2657a..8ab73e3 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/JobType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum JobType {
NOTIFICATION,
REPORT,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerLevel.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerLevel.java
index 01f7d2e..dd54348 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerLevel.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerLevel.java
@@ -18,10 +18,8 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
import org.apache.logging.log4j.Level;
-@XmlEnum
public enum LoggerLevel {
OFF(Level.OFF),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerType.java
index f129a7d..c696d6e 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/LoggerType.java
@@ -18,10 +18,8 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
import org.apache.commons.lang3.StringUtils;
-@XmlEnum
public enum LoggerType {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MailTemplateFormat.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MailTemplateFormat.java
index fdf8429..5f29484 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MailTemplateFormat.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MailTemplateFormat.java
@@ -19,9 +19,7 @@
package org.apache.syncope.common.lib.types;
import javax.ws.rs.core.MediaType;
-import javax.xml.bind.annotation.XmlEnum;
-@XmlEnum
public enum MailTemplateFormat {
HTML(MediaType.TEXT_HTML_TYPE),
@@ -36,5 +34,4 @@ public enum MailTemplateFormat {
public MediaType getMediaType() {
return mediaType;
}
-
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchType.java
index 0885aac..1eace45 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum MatchType {
ANY,
LINKED_ACCOUNT;
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchingRule.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchingRule.java
index e7ec427..f0bfa58 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchingRule.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/MatchingRule.java
@@ -18,12 +18,9 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
/**
- * Sync/Push task matching rule.
+ * Pull/Push task matching rule.
*/
-@XmlEnum
public enum MatchingRule {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PatchOperation.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PatchOperation.java
index 9872cbf..19c7752 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PatchOperation.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PatchOperation.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum PatchOperation {
ADD_REPLACE,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PolicyType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PolicyType.java
index 44b2667..3272e79 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PolicyType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PolicyType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum PolicyType {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ProvisionAction.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ProvisionAction.java
index 1644bce..f1120ce 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ProvisionAction.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ProvisionAction.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ProvisionAction {
PROVISION,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PullMode.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PullMode.java
index 522c30d..26933f9 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PullMode.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/PullMode.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum PullMode {
FULL_RECONCILIATION,
FILTERED_RECONCILIATION,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecExportFormat.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecExportFormat.java
index fdac43d..9b95af2 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecExportFormat.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecExportFormat.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ReportExecExportFormat {
XML,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecStatus.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecStatus.java
index 6421086..2cbece1 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecStatus.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportExecStatus.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ReportExecStatus {
STARTED,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportTemplateFormat.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportTemplateFormat.java
index 17ebf91..cd91e07 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportTemplateFormat.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ReportTemplateFormat.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ReportTemplateFormat {
FO,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceAssociationAction.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceAssociationAction.java
index efbe0ef..f17b6ec 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceAssociationAction.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceAssociationAction.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ResourceAssociationAction {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceDeassociationAction.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceDeassociationAction.java
index c8d78ec..cabedcf 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceDeassociationAction.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceDeassociationAction.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ResourceDeassociationAction {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceOperation.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceOperation.java
index b399b17..dee3d71 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceOperation.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/ResourceOperation.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum ResourceOperation {
CREATE,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/SchemaType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/SchemaType.java
index 82f17ee..3f75868 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/SchemaType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/SchemaType.java
@@ -18,13 +18,11 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
import org.apache.syncope.common.lib.to.SchemaTO;
import org.apache.syncope.common.lib.to.DerSchemaTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
import org.apache.syncope.common.lib.to.VirSchemaTO;
-@XmlEnum
public enum SchemaType {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/StatusRType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/StatusRType.java
index 1731ec7..3c7b2d9 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/StatusRType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/StatusRType.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum StatusRType {
ACTIVATE,
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TaskType.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TaskType.java
index 0d444f2..97d79df 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TaskType.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TaskType.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
import org.apache.syncope.common.lib.to.NotificationTaskTO;
import org.apache.syncope.common.lib.to.PropagationTaskTO;
import org.apache.syncope.common.lib.to.PullTaskTO;
@@ -26,7 +25,6 @@ import org.apache.syncope.common.lib.to.PushTaskTO;
import org.apache.syncope.common.lib.to.SchedTaskTO;
import org.apache.syncope.common.lib.to.TaskTO;
-@XmlEnum
public enum TaskType {
PROPAGATION(PropagationTaskTO.class),
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TraceLevel.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TraceLevel.java
index e8232b8..2de1500 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TraceLevel.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/TraceLevel.java
@@ -18,9 +18,6 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum
public enum TraceLevel {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/UnmatchingRule.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/UnmatchingRule.java
index 838f9af..f286812 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/UnmatchingRule.java
+++ b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/UnmatchingRule.java
@@ -18,12 +18,9 @@
*/
package org.apache.syncope.common.lib.types;
-import javax.xml.bind.annotation.XmlEnum;
-
/**
* Pull/Push task un-matching rule.
*/
-@XmlEnum
public enum UnmatchingRule {
/**
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
deleted file mode 100644
index 2a43129..0000000
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-@XmlSchema(
- namespace = SyncopeConstants.NS,
- xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
- namespaceURI = SyncopeConstants.NS) })
-@XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(type = Date.class, value = DateAdapter.class), })
-package org.apache.syncope.common.lib.types;
-
-import java.util.Date;
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.jaxb.DateAdapter;
diff --git a/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JAXBTest.java b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JAXBTest.java
deleted file mode 100644
index cc6aa4f..0000000
--- a/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JAXBTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.syncope.common.lib;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Calendar;
-import java.util.Date;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import org.apache.commons.lang3.exception.ExceptionUtils;
-import org.apache.syncope.common.lib.info.NumbersInfo;
-import org.apache.syncope.common.lib.request.UserUR;
-import org.apache.syncope.common.lib.report.UserReportletConf;
-import org.apache.syncope.common.lib.to.ExecTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.junit.jupiter.api.Test;
-
-public class JAXBTest {
-
- @Test
- public void marshal() {
- try {
- JAXBContext context = JAXBContext.newInstance(UserTO.class, UserUR.class, UserReportletConf.class);
- Marshaller marshaller = context.createMarshaller();
- marshaller.marshal(new UserTO(), new StringWriter());
- marshaller.marshal(new UserUR(), new StringWriter());
- } catch (JAXBException e) {
- fail(() -> ExceptionUtils.getStackTrace(e));
- }
- }
-
- @Test
- public void numbersInfo() throws JAXBException {
- JAXBContext context = JAXBContext.newInstance(NumbersInfo.class);
- Marshaller marshaller = context.createMarshaller();
- Unmarshaller unmarshaller = context.createUnmarshaller();
-
- NumbersInfo original = new NumbersInfo();
- original.setTotalUsers(5);
- original.getUsersByRealm().put("/", 4);
- original.getUsersByRealm().put("/even", 1);
- original.getUsersByStatus().put("active", 5);
- original.setTotalGroups(16);
- original.getGroupsByRealm().put("/", 14);
- original.getGroupsByRealm().put("/even", 1);
- original.getGroupsByRealm().put("/odd", 1);
- original.setAnyType1("PRINTER");
- original.setTotalAny1(3);
- original.getAny1ByRealm().put("/", 2);
- original.getAny1ByRealm().put("/even/two", 1);
- original.setTotalResources(21);
- original.setTotalRoles(4);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.ANY_TYPE.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.PULL_TASK.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.ROLE.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.NOTIFICATION.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.PASSWORD_POLICY.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.ACCOUNT_POLICY.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.RESOURCE.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.VIR_SCHEMA.name(), Boolean.TRUE);
- original.getConfCompleteness().put(NumbersInfo.ConfItem.SECURITY_QUESTION.name(), Boolean.TRUE);
-
- StringWriter writer = new StringWriter();
- marshaller.marshal(original, writer);
-
- Object actual = unmarshaller.unmarshal(new StringReader(writer.toString()));
- assertEquals(original, actual);
- }
-
- @Test
- public void issueSYNCOPE1541() throws JAXBException {
- JAXBContext context = JAXBContext.newInstance(ExecTO.class);
- Marshaller marshaller = context.createMarshaller();
-
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
- cal.set(Calendar.MILLISECOND, 0);
-
- ExecTO exec = new ExecTO();
- exec.setStart(cal.getTime());
-
- StringWriter writer = new StringWriter();
- marshaller.marshal(exec, writer);
-
- assertTrue(writer.toString().contains(".000"));
- }
-}
diff --git a/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
index 37d3a55..14d547d 100644
--- a/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
+++ b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
@@ -18,58 +18,14 @@
*/
package org.apache.syncope.common.lib;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.UUID;
-import org.apache.syncope.common.lib.request.GroupUR;
-import org.apache.syncope.common.lib.request.PasswordPatch;
-import org.apache.syncope.common.lib.request.StringPatchItem;
-import org.apache.syncope.common.lib.request.StringReplacePatchItem;
-import org.apache.syncope.common.lib.request.UserUR;
-import org.apache.syncope.common.lib.types.PatchOperation;
-import org.junit.jupiter.api.Test;
-
-public class JSONTest {
-
- @Test
- public void map() throws IOException {
- GroupUR prop = new GroupUR();
- prop.getADynMembershipConds().put("key1", "value1");
- prop.getADynMembershipConds().put("key2", "value2");
-
- ObjectMapper mapper = new ObjectMapper();
-
- StringWriter writer = new StringWriter();
- mapper.writeValue(writer, prop);
-
- GroupUR unserializedProp = mapper.readValue(writer.toString(), GroupUR.class);
- assertEquals(prop, unserializedProp);
- }
-
- @Test
- public void patch() throws IOException {
- UserUR req = new UserUR();
- req.setKey(UUID.randomUUID().toString());
- req.setUsername(new StringReplacePatchItem.Builder().value("newusername").build());
- assertNotNull(req.getUsername().getValue());
- req.setPassword(new PasswordPatch.Builder().
- onSyncope(false).
- resource("ext1").resource("ext2").
- value("newpassword").
- build());
- assertNotNull(req.getPassword().getValue());
- req.getRoles().add(new StringPatchItem.Builder().operation(PatchOperation.DELETE).value("role").build());
- ObjectMapper mapper = new ObjectMapper();
+public class JSONTest extends SerializationTest {
- StringWriter writer = new StringWriter();
- mapper.writeValue(writer, req);
+ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
- UserUR actual = mapper.readValue(writer.toString(), UserUR.class);
- assertEquals(req, actual);
+ @Override
+ protected ObjectMapper objectMapper() {
+ return OBJECT_MAPPER;
}
}
diff --git a/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/SerializationTest.java b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/SerializationTest.java
new file mode 100644
index 0000000..09db8ab
--- /dev/null
+++ b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/SerializationTest.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.syncope.common.lib;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.UUID;
+import org.apache.syncope.common.lib.request.GroupUR;
+import org.apache.syncope.common.lib.request.PasswordPatch;
+import org.apache.syncope.common.lib.request.StringPatchItem;
+import org.apache.syncope.common.lib.request.StringReplacePatchItem;
+import org.apache.syncope.common.lib.request.UserUR;
+import org.apache.syncope.common.lib.to.ConnObjectTO;
+import org.apache.syncope.common.lib.to.GroupTO;
+import org.apache.syncope.common.lib.to.PagedResult;
+import org.apache.syncope.common.lib.to.PropagationStatus;
+import org.apache.syncope.common.lib.to.ProvisioningResult;
+import org.apache.syncope.common.lib.types.PatchOperation;
+import org.junit.jupiter.api.Test;
+
+public abstract class SerializationTest {
+
+ protected abstract ObjectMapper objectMapper();
+
+ @Test
+ public void map() throws IOException {
+ GroupUR req = new GroupUR();
+ req.setKey(UUID.randomUUID().toString());
+ req.getADynMembershipConds().put("key1", "value1");
+ req.getADynMembershipConds().put("key2", "value2");
+
+ StringWriter writer = new StringWriter();
+ objectMapper().writeValue(writer, req);
+
+ GroupUR actual = objectMapper().readValue(writer.toString(), GroupUR.class);
+ assertEquals(req, actual);
+ }
+
+ @Test
+ public void patch() throws IOException {
+ UserUR req = new UserUR();
+ req.setKey(UUID.randomUUID().toString());
+ req.setUsername(new StringReplacePatchItem.Builder().value("newusername").build());
+ assertNotNull(req.getUsername().getValue());
+ req.setPassword(new PasswordPatch.Builder().
+ onSyncope(false).
+ resource("ext1").resource("ext2").
+ value("newpassword").
+ build());
+ assertNotNull(req.getPassword().getValue());
+ req.getRoles().add(new StringPatchItem.Builder().operation(PatchOperation.DELETE).value("role").build());
+
+ StringWriter writer = new StringWriter();
+ objectMapper().writeValue(writer, req);
+
+ UserUR actual = objectMapper().readValue(writer.toString(), UserUR.class);
+ assertEquals(req, actual);
+ }
+
+ @Test
+ public void pagedResult() throws IOException {
+ GroupTO group = new GroupTO();
+ group.setName(UUID.randomUUID().toString());
+ group.setRealm(SyncopeConstants.ROOT_REALM);
+ group.getPlainAttrs().add(new Attr.Builder("style").value("cool").value("great").build());
+ group.getADynMembershipConds().put("USER", "username==a*");
+
+ PagedResult<GroupTO> original = new PagedResult<>();
+ original.getResult().add(group);
+ original.setSize(1);
+ original.setTotalCount(1);
+
+ StringWriter writer = new StringWriter();
+ objectMapper().writeValue(writer, original);
+
+ PagedResult<GroupTO> actual = objectMapper().readValue(writer.toString(),
+ new TypeReference<PagedResult<GroupTO>>() {
+ });
+ assertEquals(original, actual);
+ }
+
+ @Test
+ public void provisioningResult() throws IOException {
+ GroupTO group = new GroupTO();
+ group.setName(UUID.randomUUID().toString());
+ group.setRealm(SyncopeConstants.ROOT_REALM);
+ group.getVirAttrs().add(new Attr.Builder("rvirtualdata").value("rvirtualvalue").build());
+ group.getADynMembershipConds().put("USER", "username==a*");
+
+ ProvisioningResult<GroupTO> original = new ProvisioningResult<>();
+ original.setEntity(group);
+
+ PropagationStatus status = new PropagationStatus();
+ status.setFailureReason("failed");
+ status.setBeforeObj(new ConnObjectTO());
+ original.getPropagationStatuses().add(status);
+
+ StringWriter writer = new StringWriter();
+ objectMapper().writeValue(writer, original);
+
+ ProvisioningResult<GroupTO> actual = objectMapper().readValue(writer.toString(),
+ new TypeReference<ProvisioningResult<GroupTO>>() {
+ });
+ assertEquals(original, actual);
+ }
+}
diff --git a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/XMLTest.java
similarity index 50%
copy from common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java
copy to common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/XMLTest.java
index 9587418..25f2a2a 100644
--- a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/AccessPolicyConf.java
+++ b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/XMLTest.java
@@ -16,26 +16,29 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.common.lib.policy;
+package org.apache.syncope.common.lib;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import java.util.List;
import java.util.Map;
import java.util.Set;
-@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
-public interface AccessPolicyConf extends Serializable {
+public class XMLTest extends SerializationTest {
- /**
- * Give name of related access policy.
- *
- * @return name of this access policy
- */
- String getName();
+ private static final XmlMapper XML_MAPPER;
- boolean isEnabled();
+ static {
+ XML_MAPPER = new XmlMapper();
+ XML_MAPPER.configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ XML_MAPPER.configOverride(Set.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ XML_MAPPER.configOverride(Map.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
+ }
- boolean isSsoEnabled();
-
- Map<String, Set<String>> getRequiredAttrs();
+ @Override
+ protected ObjectMapper objectMapper() {
+ return XML_MAPPER;
+ }
}
diff --git a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/YAMLTest.java
similarity index 69%
copy from common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
copy to common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/YAMLTest.java
index 85c3d28..5ff4900 100644
--- a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/log/LogAppender.java
+++ b/common/idrepo/lib/src/test/java/org/apache/syncope/common/lib/YAMLTest.java
@@ -16,21 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.common.lib.log;
+package org.apache.syncope.common.lib;
-import java.io.Serializable;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
-public class LogAppender implements Serializable {
+public class YAMLTest extends SerializationTest {
- private static final long serialVersionUID = 5975199884460548302L;
+ private static final YAMLMapper YAML_MAPPER = new YAMLMapper();
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
+ @Override
+ protected ObjectMapper objectMapper() {
+ return YAML_MAPPER;
}
}
diff --git a/core/am/logic/src/main/java/org/apache/syncope/core/logic/GoogleMfaAuthTokenLogic.java b/core/am/logic/src/main/java/org/apache/syncope/core/logic/GoogleMfaAuthTokenLogic.java
index 84b10b4..7599c8d 100644
--- a/core/am/logic/src/main/java/org/apache/syncope/core/logic/GoogleMfaAuthTokenLogic.java
+++ b/core/am/logic/src/main/java/org/apache/syncope/core/logic/GoogleMfaAuthTokenLogic.java
@@ -16,9 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.syncope.core.logic;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import java.util.function.Predicate;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.syncope.common.lib.to.AuthProfileTO;
import org.apache.syncope.common.lib.types.AMEntitlement;
@@ -34,15 +39,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
-import java.util.function.Predicate;
-
@Component
public class GoogleMfaAuthTokenLogic extends AbstractTransactionalLogic<AuthProfileTO> {
+
@Autowired
private AuthProfileDAO authProfileDAO;
@@ -53,24 +52,24 @@ public class GoogleMfaAuthTokenLogic extends AbstractTransactionalLogic<AuthProf
private AuthProfileDataBinder authProfileDataBinder;
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_DELETE_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
public void delete(final Date expirationDate) {
authProfileDAO.
- findAll().
- forEach(profile -> removeTokenAndSave(profile,
+ findAll().
+ forEach(profile -> removeTokenAndSave(profile,
token -> token.getIssueDate().compareTo(expirationDate) >= 0));
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_DELETE_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
public void delete(final String owner, final Integer otp) {
authProfileDAO.findByOwner(owner).
- ifPresent(profile -> removeTokenAndSave(profile,
+ ifPresent(profile -> removeTokenAndSave(profile,
token -> token.getToken().equals(otp)));
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_DELETE_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
public void delete(final String owner) {
authProfileDAO.findByOwner(owner).ifPresent(profile -> {
profile.setGoogleMfaAuthTokens(List.of());
@@ -79,32 +78,32 @@ public class GoogleMfaAuthTokenLogic extends AbstractTransactionalLogic<AuthProf
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_DELETE_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
public void delete(final Integer otp) {
authProfileDAO.findAll().
- forEach(profile -> removeTokenAndSave(profile,
+ forEach(profile -> removeTokenAndSave(profile,
token -> token.getToken().equals(otp)));
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_DELETE_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
public void deleteAll() {
authProfileDAO.findAll().
- forEach(profile -> {
- profile.setGoogleMfaAuthTokens(List.of());
- authProfileDAO.save(profile);
- });
+ forEach(profile -> {
+ profile.setGoogleMfaAuthTokens(List.of());
+ authProfileDAO.save(profile);
+ });
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_SAVE_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
public GoogleMfaAuthToken save(final GoogleMfaAuthToken token) {
AuthProfile profile = authProfileDAO.findByOwner(token.getOwner()).
- orElseGet(() -> {
- final AuthProfile authProfile = entityFactory.newEntity(AuthProfile.class);
- authProfile.setOwner(token.getOwner());
- return authProfile;
- });
+ orElseGet(() -> {
+ final AuthProfile authProfile = entityFactory.newEntity(AuthProfile.class);
+ authProfile.setOwner(token.getOwner());
+ return authProfile;
+ });
if (token.getKey() == null) {
token.setKey(UUID.randomUUID().toString());
@@ -112,66 +111,56 @@ public class GoogleMfaAuthTokenLogic extends AbstractTransactionalLogic<AuthProf
profile.add(token);
profile = authProfileDAO.save(profile);
return profile.getGoogleMfaAuthTokens().
- stream().
- filter(t -> t.getToken().equals(token.getToken())).
- findFirst().
- orElse(null);
+ stream().
+ filter(t -> t.getToken().equals(token.getToken())).
+ findFirst().
+ orElse(null);
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_READ_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
@Transactional(readOnly = true)
public GoogleMfaAuthToken read(final String owner, final Integer otp) {
return authProfileDAO.findByOwner(owner).
- stream().
- map(AuthProfile::getGoogleMfaAuthTokens).
- flatMap(List::stream).
- filter(token -> token.getToken().equals(otp)).
- findFirst().
- orElseThrow(() -> new NotFoundException("Could not find token for Owner " + owner + " and otp " + otp));
+ stream().
+ map(AuthProfile::getGoogleMfaAuthTokens).
+ flatMap(List::stream).
+ filter(token -> token.getToken().equals(otp)).
+ findFirst().
+ orElseThrow(() -> new NotFoundException("Could not find token for Owner " + owner + " and otp " + otp));
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_READ_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
@Transactional(readOnly = true)
public GoogleMfaAuthToken read(final String key) {
return authProfileDAO.findAll().
- stream().
- map(AuthProfile::getGoogleMfaAuthTokens).
- flatMap(List::stream).
- filter(token -> token.getKey().equals(key)).
- findFirst().
- orElse(null);
- }
-
- @PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_COUNT_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
- @Transactional(readOnly = true)
- public long countTokensFor(final String owner) {
- return authProfileDAO.findByOwner(owner).
- stream().
- mapToLong(profile -> profile.getGoogleMfaAuthTokens().size()).
- sum();
+ stream().
+ map(AuthProfile::getGoogleMfaAuthTokens).
+ flatMap(List::stream).
+ filter(token -> token.getKey().equals(key)).
+ findFirst().
+ orElse(null);
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_COUNT_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
@Transactional(readOnly = true)
- public long countAll() {
+ public int countAll() {
return authProfileDAO.findAll().
- stream().
- mapToLong(profile -> profile.getGoogleMfaAuthTokens().size()).
- sum();
+ stream().
+ mapToInt(profile -> profile.getGoogleMfaAuthTokens().size()).
+ sum();
}
@PreAuthorize("hasRole('" + AMEntitlement.GOOGLE_MFA_READ_TOKEN + "') "
- + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
+ + "or hasRole('" + IdRepoEntitlement.ANONYMOUS + "')")
@Transactional(readOnly = true)
public List<GoogleMfaAuthToken> findTokensFor(final String owner) {
return authProfileDAO.findByOwner(owner).
- map(profile -> new ArrayList<>(profile.getGoogleMfaAuthTokens())).
- orElse(new ArrayList<>(0));
+ map(profile -> new ArrayList<>(profile.getGoogleMfaAuthTokens())).
+ orElse(new ArrayList<>(0));
}
private void removeTokenAndSave(final AuthProfile profile, final Predicate<GoogleMfaAuthToken> criteria) {
@@ -185,7 +174,7 @@ public class GoogleMfaAuthTokenLogic extends AbstractTransactionalLogic<AuthProf
@Override
protected AuthProfileTO resolveReference(final Method method, final Object... args)
- throws UnresolvedReferenceException {
+ throws UnresolvedReferenceException {
String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
@@ -200,8 +189,8 @@ public class GoogleMfaAuthTokenLogic extends AbstractTransactionalLogic<AuthProf
if (key != null) {
try {
return authProfileDAO.findByKey(key).
- map(authProfileDataBinder::getAuthProfileTO).
- orElseThrow();
+ map(authProfileDataBinder::getAuthProfileTO).
+ orElseThrow();
} catch (Throwable ignore) {
LOG.debug("Unresolved reference", ignore);
throw new UnresolvedReferenceException(ignore);
diff --git a/core/am/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/wa/GoogleMfaAuthTokenServiceImpl.java b/core/am/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/wa/GoogleMfaAuthTokenServiceImpl.java
index 96a0411..90ef78f 100644
--- a/core/am/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/wa/GoogleMfaAuthTokenServiceImpl.java
+++ b/core/am/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/wa/GoogleMfaAuthTokenServiceImpl.java
@@ -16,9 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.syncope.core.rest.cxf.service.wa;
+import java.net.URI;
+import java.util.Date;
+import java.util.List;
+import javax.ws.rs.core.Response;
+import org.apache.syncope.common.lib.to.PagedResult;
import org.apache.syncope.common.lib.types.GoogleMfaAuthToken;
import org.apache.syncope.common.rest.api.RESTHeaders;
import org.apache.syncope.common.rest.api.service.wa.GoogleMfaAuthTokenService;
@@ -27,14 +31,9 @@ import org.apache.syncope.core.rest.cxf.service.AbstractServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import javax.ws.rs.core.Response;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.List;
-
@Service
public class GoogleMfaAuthTokenServiceImpl extends AbstractServiceImpl implements GoogleMfaAuthTokenService {
+
@Autowired
private GoogleMfaAuthTokenLogic logic;
@@ -73,8 +72,8 @@ public class GoogleMfaAuthTokenServiceImpl extends AbstractServiceImpl implement
final GoogleMfaAuthToken token = logic.save(tokenTO);
URI location = uriInfo.getAbsolutePathBuilder().path(token.getKey()).build();
return Response.created(location).
- header(RESTHeaders.RESOURCE_KEY, token.getKey()).
- build();
+ header(RESTHeaders.RESOURCE_KEY, token.getKey()).
+ build();
}
@Override
@@ -83,8 +82,17 @@ public class GoogleMfaAuthTokenServiceImpl extends AbstractServiceImpl implement
}
@Override
- public List<GoogleMfaAuthToken> findTokensFor(final String owner) {
- return logic.findTokensFor(owner);
+ public PagedResult<GoogleMfaAuthToken> findTokensFor(final String owner) {
+ List<GoogleMfaAuthToken> tokens = logic.findTokensFor(owner);
+
+ PagedResult<GoogleMfaAuthToken> result = new PagedResult<>();
+ result.getResult().addAll(tokens);
+
+ result.setPage(1);
+ result.setSize(result.getResult().size());
+ result.setTotalCount(result.getSize());
+
+ return result;
}
@Override
@@ -93,12 +101,12 @@ public class GoogleMfaAuthTokenServiceImpl extends AbstractServiceImpl implement
}
@Override
- public long countTokensForOwner(final String owner) {
- return logic.countTokensFor(owner);
- }
+ public PagedResult<GoogleMfaAuthToken> countTokens() {
+ PagedResult<GoogleMfaAuthToken> result = new PagedResult<>();
- @Override
- public long countTokens() {
- return logic.countAll();
+ result.setSize(logic.countAll());
+ result.setTotalCount(result.getSize());
+
+ return result;
}
}
diff --git a/core/idrepo/rest-cxf/pom.xml b/core/idrepo/rest-cxf/pom.xml
index f1028e6..108b211 100644
--- a/core/idrepo/rest-cxf/pom.xml
+++ b/core/idrepo/rest-cxf/pom.xml
@@ -69,6 +69,10 @@ under the License.
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
+ <artifactId>jackson-jaxrs-xml-provider</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-yaml-provider</artifactId>
</dependency>
<dependency>
@@ -118,23 +122,6 @@ under the License.
<artifactId>syncope-common-idrepo-rest-api</artifactId>
<version>${project.version}</version>
</dependency>
-
- <dependency>
- <groupId>org.webjars</groupId>
- <artifactId>jquery</artifactId>
- </dependency>
- <dependency>
- <groupId>org.webjars</groupId>
- <artifactId>jquery-ui</artifactId>
- </dependency>
- <dependency>
- <groupId>org.webjars</groupId>
- <artifactId>jquery-ui-themes</artifactId>
- </dependency>
- <dependency>
- <groupId>org.webjars</groupId>
- <artifactId>highlightjs</artifactId>
- </dependency>
<!-- TEST -->
<dependency>
diff --git a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
index eb2f55d..c2b9c6d 100644
--- a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
+++ b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
@@ -18,10 +18,10 @@
*/
package org.apache.syncope.core.rest.cxf;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import com.fasterxml.jackson.jaxrs.yaml.JacksonJaxbYAMLProvider;
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
+import com.fasterxml.jackson.jaxrs.xml.JacksonXMLProvider;
+import com.fasterxml.jackson.jaxrs.yaml.JacksonYAMLProvider;
import io.swagger.v3.oas.models.security.SecurityScheme;
-
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -35,14 +35,11 @@ import org.apache.cxf.jaxrs.ext.search.SearchContextImpl;
import org.apache.cxf.jaxrs.ext.search.SearchContextProvider;
import org.apache.cxf.jaxrs.ext.search.SearchUtils;
import org.apache.cxf.jaxrs.openapi.OpenApiFeature;
-import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.staxutils.DocumentDepthProperties;
import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
import org.apache.cxf.validation.BeanValidationProvider;
-import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.search.SyncopeFiqlParser;
import org.apache.syncope.common.rest.api.DateParamConverterProvider;
import org.springframework.beans.factory.annotation.Autowired;
@@ -83,29 +80,22 @@ public class RESTCXFContext {
}
@Bean
- public JAXBElementProvider<?> jaxbProvider() {
- JAXBElementProvider<?> jaxbProvider = new JAXBElementProvider<>();
- jaxbProvider.setNamespacePrefixes(Map.of(SyncopeConstants.NS, SyncopeConstants.NS_PREFIX));
-
- DocumentDepthProperties documentDepthProperties = new DocumentDepthProperties();
- documentDepthProperties.setInnerElementCountThreshold(500);
- jaxbProvider.setDepthProperties(documentDepthProperties);
-
- jaxbProvider.setCollectionWrapperMap(Map.of("org.apache.syncope.common.lib.policy.PolicyTO", "policies"));
-
- return jaxbProvider;
+ public JacksonJsonProvider jsonProvider() {
+ JacksonJsonProvider jsonProvider = new JacksonJsonProvider();
+ jsonProvider.setMapper(new SyncopeObjectMapper());
+ return jsonProvider;
}
@Bean
- public JacksonJaxbJsonProvider jsonProvider() {
- JacksonJaxbJsonProvider jsonProvider = new JacksonJaxbJsonProvider();
- jsonProvider.setMapper(new SyncopeObjectMapper());
- return jsonProvider;
+ public JacksonXMLProvider xmlProvider() {
+ JacksonXMLProvider xmlProvider = new JacksonXMLProvider();
+ xmlProvider.setMapper(new SyncopeXmlMapper());
+ return xmlProvider;
}
@Bean
- public JacksonJaxbYAMLProvider yamlProvider() {
- JacksonJaxbYAMLProvider yamlProvider = new JacksonJaxbYAMLProvider();
+ public JacksonYAMLProvider yamlProvider() {
+ JacksonYAMLProvider yamlProvider = new JacksonYAMLProvider();
yamlProvider.setMapper(new SyncopeYAMLMapper());
return yamlProvider;
}
@@ -161,20 +151,6 @@ public class RESTCXFContext {
}
@Bean
- public WadlGenerator wadlGenerator() {
- WadlGenerator wadlGenerator = new WadlGenerator();
- wadlGenerator.setApplicationTitle("Apache Syncope " + version);
- wadlGenerator.setNamespacePrefix(SyncopeConstants.NS_PREFIX);
- wadlGenerator.setIncrementNamespacePrefix(false);
- wadlGenerator.setLinkAnyMediaTypeToXmlSchema(true);
- wadlGenerator.setUseJaxbContextForQnames(true);
- wadlGenerator.setAddResourceAndMethodIds(true);
- wadlGenerator.setIgnoreMessageWriters(true);
- wadlGenerator.setUsePathParamsToCompareOperations(false);
- return wadlGenerator;
- }
-
- @Bean
public OpenApiFeature openapiFeature() {
OpenApiFeature openapiFeature = new OpenApiFeature();
openapiFeature.setTitle("Apache Syncope");
@@ -224,15 +200,14 @@ public class RESTCXFContext {
restContainer.setProviders(List.of(
dateParamConverterProvider(),
- jaxbProvider(),
jsonProvider(),
+ xmlProvider(),
yamlProvider(),
restServiceExceptionMapper(),
searchContextProvider(),
checkDomainFilter(),
addDomainFilter(),
- addETagFilter(),
- wadlGenerator()));
+ addETagFilter()));
... 4260 lines suppressed ...